vector 的值怎么复制到另外一个vector中

 我来答
四舍五不入6
高粉答主

2020-01-13 · 还没有填写任何签名哦
四舍五不入6
采纳数:27 获赞数:71368

向TA提问 私信TA
展开全部

方法1:

vector<int > v1(v2);//声明

方法2:使用swap进行赋值:

vector<int > v1();v1.swap(v2);//将v2赋值给v1,此时v2变成了v1
方法3:使用函数assign进行赋值:

vector<int > v1;//声明v1

v1.assign(v2.begin(), v2.end());//将v2赋值给v1


扩展资料:

说明

vector是一种动态数组,是基本数组的类模板。其内部定义了很多基本操作。

#include <vector> 注意:头文件没有“.h”

说明

vector是一种动态数组,是基本数组的类模板。其内部定义了很多基本操作。

#include <vector> 注意:头文件没有“.h”

push_back()是将数据放入vector(向量)或deque(双端队列)的标准函数。Insert()是一个与之类似的函数,然而它在所有容器中都可以使用,但是用法更加复杂。

参考资料来源:百度百科-STL vector

炸飞的少年
推荐于2017-12-16 · TA获得超过9824个赞
知道大有可为答主
回答量:6356
采纳率:6%
帮助的人:1466万
展开全部
1、vector是一个构造对象,不能直接使用=符号进行复制,必须迭代每个元素来复制。或者重载=操作符。
2、大致有一下几种方法实现用于把一个vector复制给另一个vector:
方法1:
vector<int > v1(v2);//声明
方法2:使用swap进行赋值:
vector<int > v1();v1.swap(v2);//将v2赋值给v1,此时v2变成了v1
方法3:使用函数assign进行赋值:
vector<int > v1;//声明v1
v1.assign(v2.begin(), v2.end());//将v2赋值给v1
方法4:使用循环语句赋值,效率较差
vector<int >::iterator it;//声明迭代器
for(it = v2.begin();it!=v2.end();++it){//遍历v2,赋值给v1
v1.push_back(it);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式