std::vector
参考
- vector头文件
- IDE:vs 2022
定义
- std::vector<数据类型> 变量名;
- std::vector
v; //基本定义 - std::vector
v1{ 1,2,3,4,5 }; //直接初始化 - std::vector
v2(5); //成员容量为五个 - std::vector
v3(5, 100); //五个成员均为100
正文
容器方面,对成员的访问方式都可以通过[],即:
1 | int main(){ |
size()
这个不多说,跟之前的array一样,返回vector的成员个数。
push_back()
1 | int main(){ |
运行结果为:
也就是说v3扩容了,那么再来看看他所有成员的值。
利用c++提供的for循环:
1 | for (int i : v3){ |
得到结果:
assign()
在初始化的时候我们提到过:std::vector<int> v3(5, 100);
,即定义一个拥有五个成员且值都为100的vector。
而assign(),他会覆盖掉以前的值,也就是说即便你初始化过,后期添加或删除过,都可以用assign覆盖。
1 | std::vector<int> v3(5, 100); //五个成员均为100 |
得到结果:
clear()
有覆盖的方法,那么就会想到清空,clear就能够实现清空一个vector
1 | std::vector<int> v3(5, 100); //五个成员均为100 |
发现清空之后没有值了
empty()
能清空就需要能判断是否为空
empty的返回值是布尔类型,vector为空返回true,不为空返回false
1 | std::vector<int> v3(5, 100); //五个成员均为100 |
能够清楚的看到情况前后v3的状态:
0和1是正常的,规定里0代表false,1代表true
结语
STL记得还有挺多的,以前看过黑马的c++,用的少了现在从头理理吧。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Box'Blog!
评论