欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

C++线性序列容器vector简单总结

发布时间:2025/7/14 c/c++ 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 C++线性序列容器vector简单总结 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

C++线性序列容器<vector>简单总结

vector是一个长度可变的数组,使用的时候无须声明上限,随着元素的增加,Vector的长度会自动增加;Vector类提供额外的方法来增加、删除元素,比数组操作高效。

头文件:#include <vector>

命名空间:using namespace std:vector

构造函数

vector<int>vec_int;         // 创建一个整形元素的vector

vector<string>vec_string;    // 创建一个string元素的vector

vector<Mystruct>vec_Mystruct;   // 创建一个元素是结构的vector

基本维护操作

1.访问

下标访问和at()两种方式,推荐第二种方法,它会进行边界检查。

vec_int[1], vec_int.at(1);    // 访问索引为1的元素,第2个元素

int size() const;                    // 返回向量中的元素个数

bool empty() const;              // 判断向量是否为空,true为空,false为不空

reference back( );                 // 返回向量的最后一个元素的引用,可以被修改

reference front( );                // 返回向量的第一个元素的引用,可以被修改

2.添加

void push_back(const T& Val); ;  // 在vector末尾处添加一个元素。

3.删除

void pop_back( );        // 删除向量末尾处的元素。

void clear();                // 清除向量中的所有元素

4.插入

void insert(iterator it, int count, T& value);  // 在迭代器的位置插入指定count数量的value值,count参数可选,默认为1

5.遍历

常用的使用迭代器遍历,也非常方便;

iterator begin();           // 返回向量的第一个元素的迭代器

iterator end( );            // 返回向量的最后一个元素的迭代器

遍历方法:

for (vector<int>::iterator vec_it = vec_int.begin(); vec_it != vec_int.end(); vec_it++) {cout << *vec_it << endl; }

 

成员函数

 

assign 清除矢量并将指定的元素复制到该空矢量。
at返回对矢量中指定位置的元素的引用。
back返回对向量中最后一个元素的引用。
begin对该向量中第一个元素返回随机访问迭代器。
capacity返回在不分配更多的存储的情况下向量可以包含的元素数。
cbegin返回指向向量中第一个元素的随机访问常量迭代器。
cend返回一个随机访问常量迭代器,它指向刚超过矢量末尾的位置。
crbegin返回一个指向反向矢量中第一个元素的常量迭代器。
crend返回一个指向反向矢量末尾的常量迭代器。
clear清除向量的元素。
data返回指向向量中第一个元素的指针。
emplace将就地构造的元素插入到指定位置的向量中。
emplace_back将一个就地构造的元素添加到向量末尾。
empty测试矢量容器是否为空。
end返回指向矢量末尾的随机访问迭代器。
erase从指定位置删除向量中的一个元素或一系列元素。
front返回对向量中第一个元素的引用。
get_allocator将对象返回到矢量使用的 allocator 类。
insert将一个元素或多个元素插入到指定位置的向量中。
max_size返回向量的最大长度。
pop_back删除矢量末尾处的元素。
push_back在矢量末尾处添加一个元素。
rbegin返回指向反向向量中第一个元素的迭代器。
rend返回一个指向反向矢量末尾的迭代器。
reserve保留向量对象的最小存储长度。
resize为矢量指定新的大小。
shrink_to_fit放弃额外容量。
size返回vector元素个数
swap交换两个向量的元素。

转载于:https://www.cnblogs.com/youyoui/p/5779965.html

《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的C++线性序列容器vector简单总结的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。