如何将两个vector中的值整合到另一个vector中?

kpp2008 2011-11-19 11:38:40
vecB和vecA中有相同的struct个数,现在想将每个vecA中的每个a的值传给vecC中c1,每个vecB中的每个b的值传给vecC中c2,
也就是将两个容器中的内容整合到新的容器中,很棘手,请问各位前辈,应该如何写啊

struct A
{
int a;
};
vector<A> vecA;
struct B
{
int b;
};
vector<B> vecB;
struct C
{
int c1;
int c2;
};
vector<C> vecC;

...全文
1383 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Snight 2011-11-20
  • 打赏
  • 举报
回复
其实vector 是支持内存拷贝的,用下表就可以访问。

如果想一个一个拷贝,就用迭代器吧。
FrankHB1989 2011-11-20
  • 打赏
  • 举报
回复
std::merge
http://www.cplusplus.com/reference/algorithm/merge/
iamnobody 2011-11-20
  • 打赏
  • 举报
回复


C fun(A a,B b)
{
C tmp;
tmp.c1 = a.a;
tmp.c2 = b.b;
return tmp;
};

int main()
{
std::vector<A> vecA(10);
std::vector<B> vecB(10);//元素个数都是10;
std::vector<C> vecC;
vecC.resize(10);
std::transform(vecA.begin(),vecA.end(),vecB.begin(),vecC.begin(),fun);
system("pause");
return 0;
}



你的意思是这样吗?
对象 2011-11-20
  • 打赏
  • 举报
回复
用functor,自己封装一个二元函数操作符,然后用for_each调用即可。STL中尽量避免手写循环,否则很难保证程序逻辑性。
a707000646 2011-11-19
  • 打赏
  • 举报
回复
自己写方法封装
而且感觉用map比较好
JieTouLangRen 2011-11-19
  • 打赏
  • 举报
回复
STL容器可以直接进行赋值操作

64,681

社区成员

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

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