如何拷贝一个vector
如何拷贝一个std:vector<CMyType>?具体的就是用函数参数传进来一个vector,如何把它拷贝给类成员变量...
如何拷贝一个std:vector<CMyType>?具体的就是用函数参数传进来一个vector,如何把它拷贝给类成员变量
展开
2个回答
推荐于2017-11-25
展开全部
#include<vector>using namespace std;vector<CMyType> a;func(vector<CMyType> &temp){ m_a = temp;//这里的m_a是让信的你的成员变量,也是一个vector<CMyType>类型}还有一个工作就是如果你的 CMyType类里面如果有指针要自己写一个告羡复制构造函数CMyType::CMyType(const CMyType& temp){ //把坦友轮所有的成员变量自己手动写复制 A = TEMP.A; B = TEMP.B;}
2016-01-08 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
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);
}
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询