C++ vector
2023-03-22 20:16:41
来源:哔哩哔哩
C++既有类模板也有函数模板,vector是一个函数模板,我们在后面会学习如何自定义模板。
模板本身不是类或者函数,相反可以将模板看作为编译器生成类或函数编写的一份说明。编译器根据模板创建类或函数的过程叫实例化,当使用模板时,需要指出编译器应把类或函数实例化为何种类型。
(资料图)
提供的方式总是模板名字后接一对<>,括号中加入类型。
因为引用不是对象,所以不存在包含引用的vector。
如果较老版本的c++容器中的类型如果为容器的话,需要在两个右尖括号中加一个空格。
这里罗列一些初始化容器的方法
注意:拷贝容器时一定要类型相同!
注意:大部分情况下没有必要对vector对象定义的时候设置大小,这样可能会降低vector的性能,除了所有元素的值都是一样的。后面我们还将学习一种办法进一步提升动态添加元素的性能。(在文章中我没有具体讲解怎么添加对象,有兴趣可以自行搜索)
注意:如果循环体内部包含有对vector容器增加元素的语句,则不能用范围for循环,具体原因以后会讲。
这里表出vector支持的操作
size的返回值类型是由vector定义的size_type
注意:不能以下标的形式向容器中添加元素,你可以访问已经存在的元素,但是如果这个位置没有被push_back,那么你就不能用下标去添加。
(文章中对容器的操作没有介绍,如果没有掌握且有兴趣的话,还是那句话可以自行学习!)