vector的构造函数有4种形式:
第1种:默认构造函数,采用模板实现类实现,实例代码如下
vector<int> v1;
执行结果是v1为空容器,没有保存任何元素,但是并不意味着v1没有分配内存
第2种:将已有的数组的区间中的元素拷贝给本身,实例代码如下
//先进行v1的赋值
for(int i=1;i<6;i++)
v1.push_back(i);
//将[v1.begin(),v1.end())区间中的值拷贝给v2
vector<int> v2(v1.begin(),v1.end());
执行结果
第3种:将n个elem拷贝给本身,代码实例如下
vector<int> v3(5,3)//将5个3拷贝给v3
代码执行结果
第4种:拷贝构造函数,代码示例如下
vector<int> v4(v3);//将v3拷贝给v4
代码执行结果如下
总结:使用区间拷贝构造函数时要注意是按左闭右开区间执行拷贝操作。