C++vector相关学习,我的理解
生活随笔
收集整理的這篇文章主要介紹了
C++vector相关学习,我的理解
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
vector的初始化方式
- 1,使用拷貝初始化時(shí)候,即使用=的時(shí)候,只可以提供一個(gè)初始值
- 2,如果提供一個(gè)類內(nèi)初始值,只可以使用拷貝初始化或者使用花括號(hào)的方式初始化
- 3,如果提供的是初始元素值的列表,只可以把初始值都放在花括號(hào)里面進(jìn)行列表初始化,不可以使用圓括號(hào)
值的初始化
- 有些類必須明確提供初始數(shù)值,如果元素的類型不支持默認(rèn)初始化,就必須提供初始的元素?cái)?shù)值
- 只提供了元素的數(shù)量但是沒(méi)有設(shè)定初始數(shù)值,只可以使用直接初始化
- 花括號(hào)里面的數(shù)值必須和元素的類型相同
- vector<int> v1{10}; //一個(gè)元素,元素的數(shù)值是10
- vector<int> v1{10,1};//兩個(gè)元素,元素的數(shù)值是10和1
- vector<string> v1{10};//因?yàn)榛ɡㄌ?hào)里面的數(shù)值和元素的類型不一樣,相當(dāng)于有10個(gè)默認(rèn)的初始化元素,字符串默認(rèn)是'\0'
注意事項(xiàng)
- 如果循環(huán)體內(nèi)部包含有向vector添加元素的語(yǔ)句,則不可以使用范圍for循環(huán),因?yàn)槭褂梅秶鷉or循環(huán)會(huì)改變其所遍歷的序列的大小
- 范圍for循環(huán) for(declaration : expression){ statement }
- expression是一個(gè)序列,比如使用花括號(hào)括起來(lái)的初始值的列表、數(shù)組、string、vector等類型,他們都可以返回迭代器的begin和end成員
- declaration是一個(gè)變量,比如int、float等,序列中的每個(gè)元素都得能轉(zhuǎn)化成該變量的類型,最簡(jiǎn)單的方式是使用auto,自定義類型轉(zhuǎn)換,不需要用戶自己指定
- 而且,對(duì)于范圍變量要使用引用類型,這樣才能對(duì)于元素執(zhí)行寫操作。
- 因?yàn)榭梢允褂胮ush_back(元素),對(duì)vector增加元素,但是使用范圍for語(yǔ)句是要知道最后的一個(gè)位置的,因?yàn)関ector的最后位置不確定,所以無(wú)法使用范圍for語(yǔ)句
- vector的操作類似于string,比如v.size()、v.empty()
?
?
總結(jié)
以上是生活随笔為你收集整理的C++vector相关学习,我的理解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 浦发信用卡VTM激活失败怎么办?找到原因
- 下一篇: 数学建模 整数规划的基本原理和标准形式