如何将一个vector对象的一部分拷贝到另一个新创建的vector对象中去?

romanwall 2007-05-24 09:25:58
例如,v1为vector<double>型,想要将其中的某一段元素拷贝到另一个同类型的变量v2中去,除了用最笨的push_back之外,还有其他办法吗?
...全文
9501 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
howardftj 2007-05-24
  • 打赏
  • 举报
回复
copy(Init first, Init last, Oit dest);

#include <algorithms>
copy(v1.begin(), v1.end(), v2.begin()); //全部拷贝
yoyo_alex_lw 2007-05-24
  • 打赏
  • 举报
回复
std::copy(v1.begin()+n,v1.begin()+n+m,v2.begin()+p);
taodm 2007-05-24
  • 打赏
  • 举报
回复
copy泛型算法或者vector的assign成员函数。
lidongri 2007-05-24
  • 打赏
  • 举报
回复
longshanks(longshanks) ( ) 信誉:99 Blog 加为好友 2007-05-24 15:30:31 得分:
vector<double>::iterator i1=v1.begin()+m, i2=v1.begin()+n; //m<n,且n<v1.size()
vector<double> v2(i1, i2);
----
正解
todototry 2007-05-24
  • 打赏
  • 举报
回复
vector<double> v2(v1.begin(), v1.end());
这样构造时候的直接就可以把v2建立成个v1的复制版本
你传入不同迭代器,那就可以的啦,okokok
longshanks 2007-05-24
  • 打赏
  • 举报
回复
vector<double>::iterator i1=v1.begin()+m, i2=v1.begin()+n; //m<n,且n<v1.size()
vector<double> v2(i1, i2);
kenterr 2007-05-24
  • 打赏
  • 举报
回复
copy(coll1.begin() + start, coll1.begin() + start + num, back_inserter(coll2));
Oversense 2007-05-24
  • 打赏
  • 举报
回复
std::copy 是最好的办法

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧