C++线性序列容器vector简单总结
C++線(xiàn)性序列容器<vector>簡(jiǎn)單總結(jié)
vector是一個(gè)長(zhǎng)度可變的數(shù)組,使用的時(shí)候無(wú)須聲明上限,隨著元素的增加,Vector的長(zhǎng)度會(huì)自動(dòng)增加;Vector類(lèi)提供額外的方法來(lái)增加、刪除元素,比數(shù)組操作高效。
頭文件:#include <vector>
命名空間:using namespace std:vector
構(gòu)造函數(shù)
vector<int>vec_int; ? ? ? ? // 創(chuàng)建一個(gè)整形元素的vector
vector<string>vec_string; ?? // 創(chuàng)建一個(gè)string元素的vector
vector<Mystruct>vec_Mystruct; ? // 創(chuàng)建一個(gè)元素是結(jié)構(gòu)的vector
基本維護(hù)操作
1.訪(fǎng)問(wèn)
下標(biāo)訪(fǎng)問(wèn)和at()兩種方式,推薦第二種方法,它會(huì)進(jìn)行邊界檢查。
vec_int[1], vec_int.at(1);??? // 訪(fǎng)問(wèn)索引為1的元素,第2個(gè)元素
int size() const;??????????????????? // 返回向量中的元素個(gè)數(shù)
bool empty() const;????????????? // 判斷向量是否為空,true為空,false為不空
reference back( );???????????????? // 返回向量的最后一個(gè)元素的引用,可以被修改
reference front( );??????????????? // 返回向量的第一個(gè)元素的引用,可以被修改
2.添加
void push_back(const T& Val);?;? // 在vector末尾處添加一個(gè)元素。
3.刪除
void pop_back( );??????? // 刪除向量末尾處的元素。
void clear();??????????????? // 清除向量中的所有元素
4.插入
void insert(iterator it, int count, T& value);? // 在迭代器的位置插入指定count數(shù)量的value值,count參數(shù)可選,默認(rèn)為1
5.遍歷
常用的使用迭代器遍歷,也非常方便;
iterator begin();?????????? // 返回向量的第一個(gè)元素的迭代器
iterator end( );??????????? // 返回向量的最后一個(gè)元素的迭代器
遍歷方法:
for (vector<int>::iterator vec_it = vec_int.begin(); vec_it != vec_int.end(); vec_it++) {cout << *vec_it << endl; }?
成員函數(shù)
?
| assign | 清除矢量并將指定的元素復(fù)制到該空矢量。 |
| at | 返回對(duì)矢量中指定位置的元素的引用。 |
| back | 返回對(duì)向量中最后一個(gè)元素的引用。 |
| begin | 對(duì)該向量中第一個(gè)元素返回隨機(jī)訪(fǎng)問(wèn)迭代器。 |
| capacity | 返回在不分配更多的存儲(chǔ)的情況下向量可以包含的元素?cái)?shù)。 |
| cbegin | 返回指向向量中第一個(gè)元素的隨機(jī)訪(fǎng)問(wèn)常量迭代器。 |
| cend | 返回一個(gè)隨機(jī)訪(fǎng)問(wèn)常量迭代器,它指向剛超過(guò)矢量末尾的位置。 |
| crbegin | 返回一個(gè)指向反向矢量中第一個(gè)元素的常量迭代器。 |
| crend | 返回一個(gè)指向反向矢量末尾的常量迭代器。 |
| clear | 清除向量的元素。 |
| data | 返回指向向量中第一個(gè)元素的指針。 |
| emplace | 將就地構(gòu)造的元素插入到指定位置的向量中。 |
| emplace_back | 將一個(gè)就地構(gòu)造的元素添加到向量末尾。 |
| empty | 測(cè)試矢量容器是否為空。 |
| end | 返回指向矢量末尾的隨機(jī)訪(fǎng)問(wèn)迭代器。 |
| erase | 從指定位置刪除向量中的一個(gè)元素或一系列元素。 |
| front | 返回對(duì)向量中第一個(gè)元素的引用。 |
| get_allocator | 將對(duì)象返回到矢量使用的 allocator 類(lèi)。 |
| insert | 將一個(gè)元素或多個(gè)元素插入到指定位置的向量中。 |
| max_size | 返回向量的最大長(zhǎng)度。 |
| pop_back | 刪除矢量末尾處的元素。 |
| push_back | 在矢量末尾處添加一個(gè)元素。 |
| rbegin | 返回指向反向向量中第一個(gè)元素的迭代器。 |
| rend | 返回一個(gè)指向反向矢量末尾的迭代器。 |
| reserve | 保留向量對(duì)象的最小存儲(chǔ)長(zhǎng)度。 |
| resize | 為矢量指定新的大小。 |
| shrink_to_fit | 放棄額外容量。 |
| size | 返回vector元素個(gè)數(shù) |
| swap | 交換兩個(gè)向量的元素。 |
轉(zhuǎn)載于:https://www.cnblogs.com/youyoui/p/5779965.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專(zhuān)家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的C++线性序列容器vector简单总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 矢量切片格式规范
- 下一篇: Logstash 父子关系 配置