vector容器v1、v2之间相互赋值的三种方法及易错点详解

对于vector容器来说,可以通过三种方法将一个vector容器的值赋给另一个vector容器,分别是
1、通过等号直接赋值;
2、通过assign函数赋值;
3、通过for循环进行赋值;
下面将通过代码详细讲解这三种实现方法:
先假设两个vector容器:vector<int> v1,v2;
vector<int> :: iterator iter;
v1.push_back(10); v1.push_back(20); v1.push_back(30); v1.push_back(40);

方法一:v2=v1;
for(iter=v2.begin();iter!=v2.end();iter++){
cout<<”v2=”<<*iter<< endl; //使用了解引用操作,直接通过*iter得到v2 的值}
通过这种直接赋值的方法是可以实现将v1的值赋给v2,但是一般不提倡使用这种方法。

方法二:v2.assign(v1.begin(),v1.end());
for(iter=v2.begin();iter!=v2.end();iter++){
cout<<”v2=”<<*iter<< endl;}

方法三:v2.clear(); //清空v2容器
for(iter=v1.begin();iter!=v1.end();iter++){
v2.push_back(*iter);}
for(iter=v2.begin();iter!=v2.end();iter++){
cout<<”v2=”<<*iter<< endl;}
通过for循环也可以实现,相对于assign函数复杂一点。

###注意:vector容器并不像数组一样,可以通过下标操作进行赋值或者添加元素,vector容器是不能够通过下标操作添加元素的。
例如:
vector<int> ivec;
for(vector<int>:: size_type ix=0;ix!=10;ix++){
ivec[ix]=ix;//这样是并不能进行赋值添加元素的}
原因是必须是已经存在的元素才能够用下标操作符进行索引,否则,通过下标操作进行赋值,是不会添加任何元素的。

  • 12
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值