vector有四种构造函数:
(1)默认构造,无需传参
vector<int> v1; //此时还没有分配空间
(2)vector<int> v2(n); //分配了空间,指定元素个数,默认值为0
vector<int> v2(n, -1); //指定元素个数和值
(3)构造函数传入两个参数,分别为一段序列的起始地址或迭代器和结束地址或迭代器。
int arr[5] = {2,2,2,3,2};
vector<int> v3(arr, arr+5);
vector<int> v4(v3.begin(), v3.end());
(4)拷贝构造函数,根据一个vector对象构建一个新的vector对象。
vector<int> v5(v4);
或vector<int> v6 = v5;文章来源:https://www.toymoban.com/news/detail-647554.html
一般在创建一个新的对象时使用的就是深拷贝,即元素值相同,地址空间不同,而在使用一个vector对象进行值传递传参时,使用的就是浅拷贝,即形参是实参的一份临时拷贝。这往往是会出问题的,所以建议在使用vector作为参数时,尽量传引用。文章来源地址https://www.toymoban.com/news/detail-647554.html
到了这里,关于vector的构造函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!