日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++vector相关学习,我的理解

發(fā)布時間:2023/12/13 c/c++ 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++vector相关学习,我的理解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

vector的初始化方式

  • 1,使用拷貝初始化時候,即使用=的時候,只可以提供一個初始值
  • 2,如果提供一個類內(nèi)初始值,只可以使用拷貝初始化或者使用花括號的方式初始化
  • 3,如果提供的是初始元素值的列表,只可以把初始值都放在花括號里面進(jìn)行列表初始化,不可以使用圓括號

值的初始化

  • 有些類必須明確提供初始數(shù)值,如果元素的類型不支持默認(rèn)初始化,就必須提供初始的元素?cái)?shù)值
  • 只提供了元素的數(shù)量但是沒有設(shè)定初始數(shù)值,只可以使用直接初始化
  • 花括號里面的數(shù)值必須和元素的類型相同
  • vector<int> v1{10}; //一個元素,元素的數(shù)值是10
  • vector<int> v1{10,1};//兩個元素,元素的數(shù)值是10和1
  • vector<string> v1{10};//因?yàn)榛ɡㄌ柪锩娴臄?shù)值和元素的類型不一樣,相當(dāng)于有10個默認(rèn)的初始化元素,字符串默認(rèn)是'\0'

注意事項(xiàng)

  • 如果循環(huán)體內(nèi)部包含有向vector添加元素的語句,則不可以使用范圍for循環(huán),因?yàn)槭褂梅秶鷉or循環(huán)會改變其所遍歷的序列的大小
  • 范圍for循環(huán) for(declaration : expression){ statement }
  • expression是一個序列,比如使用花括號括起來的初始值的列表、數(shù)組、string、vector等類型,他們都可以返回迭代器的begin和end成員
  • declaration是一個變量,比如int、float等,序列中的每個元素都得能轉(zhuǎn)化成該變量的類型,最簡單的方式是使用auto,自定義類型轉(zhuǎn)換,不需要用戶自己指定
  • 而且,對于范圍變量要使用引用類型,這樣才能對于元素執(zhí)行寫操作。
  • 因?yàn)榭梢允褂胮ush_back(元素),對vector增加元素,但是使用范圍for語句是要知道最后的一個位置的,因?yàn)関ector的最后位置不確定,所以無法使用范圍for語句
  • vector的操作類似于string,比如v.size()、v.empty()

?

?

總結(jié)

以上是生活随笔為你收集整理的C++vector相关学习,我的理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。