c++ vector赋值问题
我有两个相同大小的二维vectorv1,v2v1已分配空间,v2已赋值,可不可以采用v1=v2的方式给v1赋值?...
我有两个相同大小的二维vector v1,v2
v1已分配空间,v2已赋值,可不可以采用 v1=v2 的方式给v1赋值? 展开
v1已分配空间,v2已赋值,可不可以采用 v1=v2 的方式给v1赋值? 展开
2个回答
展开全部
可以,前提是同类型的向量
追问
我这里的vector不是向量啊亲,是stl中的vector容器
追答
看楼下的吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-11-18
展开全部
std::vector<type> v1; // 假定v1中已经保存了您的数据
std::vcctor<type> v2; // 你想把v1中的数据拷贝到 v2中
// 初始化的v2没有分配内存, 这里是分配等同大小的内存 你也可以根据需要分配
v2.resize(v1.size());
// 记住 vector中分配的是一个块内存, 然后再次基础上作动态数据定义
// 成员函数获取的是数组的个数, 所以得乘以 sizeof(type)
memcpy(&v2[0], &v1[0], v1.size() * sizeof(type)); //搞定
std::vcctor<type> v2; // 你想把v1中的数据拷贝到 v2中
// 初始化的v2没有分配内存, 这里是分配等同大小的内存 你也可以根据需要分配
v2.resize(v1.size());
// 记住 vector中分配的是一个块内存, 然后再次基础上作动态数据定义
// 成员函数获取的是数组的个数, 所以得乘以 sizeof(type)
memcpy(&v2[0], &v1[0], v1.size() * sizeof(type)); //搞定
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询