vector使用

#include <vector>
using std::vector
vector<int> ivec;

vector<vector<string>> file;

初始化

vector<T> v1;  //v1是空vector,所有元素都是T類型

vector<T> v2(v1); //v2含有v1所有元素的副本
vector<T> v2 = v1; //同上

vector<T> v3(n, val); //v3包含n個(gè)重復(fù)的元素,元素的值為val
vector<T> v4(n);

vector<T> v5{a, b, c, d};
vector<T> v5 = {a, b, c, d};

添加元素

v.push_back("ts");

vector的其他操作

方法 作用
v.empty() 如果v不含任何元素,返回真,否則返回假
v.size() 返回v中元素的個(gè)數(shù),為size_type()
v.push_bakc(t) 向v的尾端添加一個(gè)值為t的元素
v[n] 返回v中第n個(gè)元素的引用

vector<int>::size_type

遍歷

vector<int> v{1, 2, 3, 4, 5, 6};
for(auto &i : v) {
  cout<< i <<endl;
}
for(decltype(v.size()) index = 0; index < v.size(); index++) {
  cout<< v[index]<<endl;
}

迭代器

auto b = v.begin(), e = v.end();

迭代器運(yùn)算

方法 作用
*iter 返回迭代器所指元素的引用
iter->mem 解引用iter并獲取該元素名為mem的成員,相對(duì)于(*iter).mem
++iter 令iter指示容器的下一個(gè)元素
--iter 令iter指示容器的上一個(gè)元素
iter1==iter2 如果兩個(gè)指示器指示同一個(gè)元素,返回真
iter1!=iter2 如果兩個(gè)指示器指示不同元素,返回真
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,679評(píng)論 1 51
  • 前言: 詳細(xì)介紹: List:元素有放入順序,元素可重復(fù)Map:元素按鍵值對(duì)存儲(chǔ),無放入順序Set:元素?zé)o放入順序...
    YBshone閱讀 8,875評(píng)論 0 17
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評(píng)論 19 139
  • STL(標(biāo)準(zhǔn)模板庫),是目前C++內(nèi)置支持的library。它的底層利用了C++類模板和函數(shù)模板的機(jī)制,由三大部分...
    歲與禾閱讀 39,404評(píng)論 3 132
  • 我們生活在一個(gè)物質(zhì)的時(shí)代,對(duì)己有利則去做,無益而遠(yuǎn)之?,F(xiàn)在的讀書講究的都為功利性閱讀,只讀功能性圖書,我一直也是這...
    光澤001閱讀 466評(píng)論 0 1

友情鏈接更多精彩內(nèi)容