【注意:不要一个个遍历去赋值,有专门的函数可以拷贝复制】

首先是传统的vector。

他的拷贝复制有3种,一是构造函数,二是利用assign函数,三是利用swap函数。

代码如下:

#include <iostream>
#include <vector>
using namespace std;void main(){vector<int> intVec;for (int i = 0; i < 10;i++){intVec.push_back(i);}vector<int>::iterator iter;for (iter = intVec.begin(); iter != intVec.end(); iter++){if ((*iter) == 5){intVec.erase(iter);break;}}vector<int> intVec_2(intVec);   //第一种复制(利用了初始化)vector<int> intVec_3;intVec_3.assign(intVec.begin(),intVec.end());       //第二种复制 (利用assign函数)vector<int> intVecTemp(intVec);vector<int> intVec_4;intVec_4.swap(intVecTemp);        //第三种复制(利用swap)getchar();}

现在来看看里面的数据:

传统的vector可以用这3种实现。

下面用QVector来搞下,看看有没有什么区别和联系。

我擦QVector里面没有assign。有点坑啊。

所有QVector实现数据交换有2种,一个是构造函数里面的,一个是使用swap

代码如下:

#include <QApplication>
#include <QVector>int main(int argc, char *argv[])
{QApplication a(argc, argv);QVector<int> intVec;for(int i=0;i<10;i++)intVec.append(i);QVector<int>::iterator iter;for(iter=intVec.begin();iter!=intVec.end();iter++){if((*iter)==5){intVec.erase(iter);break;}}QVector<int> intVec_2(intVec);QVector<int> intVec_3;QVector<int> intTemp(intVec);intVec_3.swap(intTemp);return a.exec();
}

下面来看看容器里面的值:

Qt/C++工作笔记-vector与QVector的拷贝复制(区别与联系)相关推荐

  1. Qt工作笔记-QList (链表) QVector (数组)【转载】

    原文地址:https://blog.csdn.net/qq_33266987/article/details/53333373 C++中的list 和 vector (1). stl提供了三个最基本的 ...

  2. Qt|C++工作笔记-QVector与Vector去重复的值

    Qt中没有unique函数,只能用遍历的方法了,代码如下: #include <QApplication> #include <QDebug> #include <QSt ...

  3. Qt/C++工作笔记-对vector与QVector中erase操作的进一步认识(区别与联系)

    VS代码如下: #include <iostream> #include <vector> using namespace std;void main(){vector< ...

  4. Qt|设计模式工作笔记-对单例模式进一步的理解(静态加单例实现专门收发UDP对象)

    目录 理论 源码 理论 这里只说明一点,使用单例模式,私有成员里放一个成员,这个成员是一个静态成员,把构造函数都屏蔽掉(放到protected或者private中即可)使用一个flag,让其只能生成一 ...

  5. Qt|Linux工作笔记-异步调用ping命令,重定向获取信息,界面显示

    逻辑: 1.使用QProcess在开线程前设置输出文件[setStandardOutputFile]; 2.开一个线程,去专门调用shell命令,比如ping: 3.Qt读取重定向文件,进行界面显示: ...

  6. Qt|C++工作笔记-对虚函数的进一步认识(关键是Qt中如何正确使用,达到想要的效果)

    关于虚函数的简单例子 首先是一个很简单例子,刚学C++的朋友都能理解 源码如下: #include <cstdio> #include <windows.h>static in ...

  7. Qt|Linux工作笔记-第二种方式读取Linux中top命令(直接读取,非重定向)

    第一种方式的链接如下: https://mp.csdn.net/postedit/84067805 第一种方式是重定向到文件,然后读取, 第二种方式不重定向到文件,直接读取! 利用QProcess的特 ...

  8. MFC工作笔记0009---VC++中 PostMessage和SendMessage的区别

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 最近利用vc编写UDP通讯程序,对其中的消息机制进行了整理.vc中的消息处理与.net中不同.Ne ...

  9. MyCat分布式数据库集群架构工作笔记0010---高可用_Mycat主--从复制配置下

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 上一节咱们配置了主从复制的上半部分,咱们说,mysql的主从复制,需要首先,从机,请求主机的bin ...

最新文章

  1. think php a方法,ThinkPHP之A方法实例讲解_PHP
  2. 时间和空间复杂度概述【Java _demo版】
  3. Multi-tenant or multi-instance?
  4. java实现遍历树形菜单方法——实体类VoteTree
  5. 取消chrome浏览器下input和textarea的默认样式
  6. Android访问php webservice
  7. JQuery点击收起,点击展开以及部分非空小验证
  8. python读取xml文件
  9. vue2自定义分页组件,可设置每页显示数量,指定跳转具体页面
  10. Spring配置文件总结
  11. 初识 Node.js
  12. 华为手机怎么开启生产模式 | 华为手机打开生产模式后有驱动没有安装好怎么办 | 华为荣耀9手机打开生产模式后有驱动有叹号怎么办
  13. HR_NZ_ROUNDING_DECIMALS DUMP
  14. Android 一款十分简洁、优雅的日记APP
  15. 原生js的e.target.closest()方法
  16. 模拟私网问题导致节点宕机无法启动
  17. 地铁客流量分析可视化演示系统(附代码)
  18. win10下RTX 2080ti安装cuda10.0和cudnn7.6.5
  19. android开发视频资源 电驴10G下载
  20. UI层自动化测试框架(四):对象库层

热门文章

  1. 云开发是啥?看看它在编程导航项目的实践
  2. 【飞秋】网络的基础-域名篇
  3. 真诚地希望你耐心的把它看完
  4. HTML5 API详解(8):worker多线程教你如何避免页面卡死
  5. 项目下创建文件_Linux 下创建和使用交换文件
  6. 输入文字加下划线_微信昵称这样设置,文字加上下划线!
  7. ftpclient读取服务器文件能获得文件名文件大小0_Spring WEB工程整合使用FTP,ftp文本文件解析入库,文件上传下载
  8. 无监督学习 | PCA 主成分分析之客户分类
  9. 吴恩达机器学习笔记十四之大规模机器学习
  10. 1.5w字的Rmarkdown入门教程汇总