vector作为引用参数传递.并两个相互赋值

taotaoeta 2009-01-05 09:34:12
两个vector如何相互赋值,一个是作为参数传递进来的&。如下
void main()
{
vector<int> a;
a.push_back(1);
a.push_back(2);
a.push_back(3);
a.push_back(4);
a.push_back(5);
a.push_back(6);
Test(a);
}

void Test( vector<int> const &a )
{
vector<int> b
b=*a;
}
如上,把a的引用赋值给b,这样对吗?我是想把a的内容赋值给b。
...全文
2072 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yshuise 2009-01-05
  • 打赏
  • 举报
回复
不是,我用的初始化方式,一般来说初始化比赋值强很多。
herman~~ 2009-01-05
  • 打赏
  • 举报
回复
b=a;

hai040 2009-01-05
  • 打赏
  • 举报
回复
不同类型的才需要用begin,end附值,比如list=>vector
同样是vector用=就行
jiangheng2008 2009-01-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 FoxOnWeb 的回复:]
简单,

直接
vector <int> b;
b=a;
不就完了。
[/Quote]
up
FoxOnWeb 2009-01-05
  • 打赏
  • 举报
回复
简单,

直接
vector <int> b;
b=a;
不就完了。


normallife 2009-01-05
  • 打赏
  • 举报
回复
ding
yshuise 2009-01-05
  • 打赏
  • 举报
回复
void Test( vector <int> const &a ) { 
vector <int> b(a.begin(), a.end());
}

这是第一种情况。
实际上你传的引用,根本不用拷贝,直接就可以使用。
yshuise 2009-01-05
  • 打赏
  • 举报
回复
[Quote=引用楼主 taotaoeta 的帖子:]
两个vector如何相互赋值,一个是作为参数传递进来的&。如下
void main()
{
vector <int> a;
a.push_back(1);
a.push_back(2);
a.push_back(3);
a.push_back(4);
a.push_back(5);
a.push_back(6);
Test(a);
}
要修改一下:
void Test( vector <int> const &a )
{
vector <int> b(a.begin(), a.end());
}


}

void Test( vector <int> const &a )
{
vector <int> b
b=*a;
}
如上,把a的引用赋值给b,这样对吗?我是想把a的内容赋值给b。
[/Quote]
xiaoyisnail 2009-01-05
  • 打赏
  • 举报
回复
vector的=已经实现为复制赋值,直接=就可以了

#include <vector>
#include <iostream>
using namespace std;

void Test( vector<int> const &);

void main()
{
vector <int> a;
a.push_back(1);
a.push_back(2);
a.push_back(3);
a.push_back(4);
a.push_back(5);
a.push_back(6);
Test(a);
}

void Test( vector<int> const &a)
{
vector<int> b = a;
for(vector<int>::iterator it=b.begin();it!=b.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}

64,651

社区成员

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

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