对于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;//这样是并不能进行赋值添加元素的}
原因是必须是已经存在的元素才能够用下标操作符进行索引,否则,通过下标操作进行赋值,是不会添加任何元素的。

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

  1. pytorch之tensor按索引赋值,三种方法!

    这里,我们介绍其中一种方法,即torch.scatter_()函数 import torch label = torch.zeros(3, 6) #首先生成一个全零的多维数组 print(" ...

  2. OpenGL uniform变量赋值的三种方法

    unsigned int modelLoc = glGetUniformLocation(ourShader.ID, "model");unsigned int viewLoc = ...

  3. Flash场景之间相互跳转的实现方法

    flash场景之间相互跳转的实现方法 在制作flash动画的时候,可能会有有很多的mc 有时会把它放到几个场景中,那么在场景中的跳转如何实现呢? 1. 方法一:(使用telltarg... 方法一:( ...

  4. 【正点原子Linux连载】第三十二章 U-Boot启动流程详解 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  5. C++ 中vector基本用法及其insert()、begin()、end()、front()与back()的用法详解

    一.C++ 中vector的使用方法 vector是C++标准模板库(STL)中的部分内容,是一个十分有用的容器,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库. 作用:它能够像容器一样 ...

  6. 窗体之间传递值的几种方法

    窗体之间传递值的几种方法 场景如下: 我有一个mainFrm(父窗体), 一个subFrm(子窗体) 点击父窗体的按钮启动子窗体,点击子窗体的按钮可以给父窗体设置值.如下图 第一种方法:启动子窗体,将 ...

  7. [转]DES加密 java与.net可以相互加密解密两种方法

    [转]原文地址:http://jumpman.javaeye.com/blog/605996 DES加密 java与.net可以相互加密解密两种方法 文章分类:Java编程 通过这个方法可以实现jav ...

  8. 易语言写组合框内容MySQL_易语言组合框赋值的几种方法

    在易语言中,给组合框赋值就是给组合框加上许多项目,这些项目我们可以通过编写源代码的时候就事先修改设置好它,同样我们也可以通过后期使用时让代码来修改它,今天就教大家事先给组合框赋值和事后给组合框赋值的两 ...

  9. Asp.net页面之间传递参数的几种方法

    Asp.net页面之间传递参数的几种方法 第一种方法: 通过URL链接地址传递Request.QueryString send.aspx:    protected void Button1_Clic ...

  10. Delphi 判断一个对象是否存在(赋值)的三种办法

    基本知识: 判断一个对象是否存在(赋值)的三种办法如下: if obj <> nil then if Boolean(obj) then if Assigned(obj) then 大家说 ...

最新文章

  1. bzoj 1731 [Usaco2005 dec]Layout 排队布局——差分约束
  2. 如何提取cocos iOS应用程序APP与游戏安装包里的资源与文件
  3. WEB Application Development Integrator : 应用设置
  4. Servlet 简介
  5. java泛化_JAVA泛化及为什么需要泛化
  6. LR中如何添加事务,参数化,检查点,集合点,思考时间等
  7. 认证授权方案之JwtBearer认证
  8. java工程师的终极书单_Java 9 –终极功能列表
  9. python爬虫cookie池 与ip绑定_Python爬虫:设置Cookie解决网站拦截并爬取蚂蚁短租
  10. 如何计算Python中列表项的出现次数?
  11. 由replaceAll引发的java.util.regex.PatternSyntaxException错误
  12. 20200114:(leetcode)两数相加
  13. 剑指offer面试题28. 对称的二叉树(递归)
  14. 论文赏析[EACL17]K-best Iterative Viterbi Parsing(K-best迭代维特比句法分析)
  15. 2020美赛M奖感想
  16. QAV250四轴穿越机安装全程详解(多图)
  17. 以图搜图(一):python aHash算法
  18. java 将set转成数组,Java程序将Set转换为数组
  19. 计算机相关知识分享,计算机基础知识论文分享
  20. 华为手机哪一款手机是鸿蒙系统_华为鸿蒙系统哪一款手机在用

热门文章

  1. 比特币那么火,今晚直播带你去「挖矿」!
  2. Java调用Memcache入门
  3. opencl JAVA编程_《OpenCL异构并行编程实战》第十二至十四章
  4. 2022 SpringBoot/SSM的极为轻量级推荐博客系统
  5. mysql connectors层_mysql底层工作原理
  6. STC学习:可振动感应的电子音乐
  7. eclipse哪个版本最稳定_新版鹿鼎记开播啦,你最喜欢哪个版本?最还原原著的原来是他...
  8. 电梯里的爱情华科oj
  9. mysql hive 安装 配置_Hive与MySQL安装配置
  10. php dom怎么创建节点,前端必须掌握的DOM节点操作方法!