使用swap 清空vector
 //最简单的使用swap,清除元素并回收内存
     vector <int>().swap(vecInt);  //清除容器并最小化它的容量,
 //   vecInt.swap(vector<int>()) ;     另一种写法
     j= vecInt.capacity();       //j=0
     i = vecInt.size();          //i=0
 7// 该语句是由vector <int>(vecInt).swap(vecInt)的变体而来,一下解释引自csdn:
 std::vector<T>(v).swap(v);//的作用相当于:
   {
   std::vector<T>   temp(v);//1
   temp.swap(v);//2
   }
  // 第一句产生一个和v内容一模一样的vector,只不过temp的容量是恰好满足其大小的
  // 第二句把v和temp交换
  // 然后temp就自动解析掉了   
使用swap 清空vector的更多相关文章
- C++ 如何快速清空vector以及释放vector内存?
		平时我们在写代码时候,有思考过要主动去释放vector的内存吗? 1.对于数据量不大的vector,没有必要自己主动释放vector,一切都交给操作系统. 2.但是对于大量数据的vector,在vec ... 
- vector的clear和swap
		vector的clear()操作只是清空vector的元素,而不会将内存释放掉 vector<int> vec1{ 1,2,3,4,5 }; vec1.clear(); cout<& ... 
- C++ STL之vector用法总结
		介绍 vector是表示可变大小数组的序列容器. 就像数组一样,vector也采用的连续存储空间来存储元素.也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效.但是又不像数组,它的大 ... 
- vector中的元素删除
		删除vector中的元素,最容易的方法就是使用vector的erase()函数. vector vec;for ( vector::iterator iter = vec.begin(); iter! ... 
- vector 内部方法大全 学习(初学者的参考资料)
		1 vector构造函数:也就是如何对一个vector对象进行初始化 ////////////////////////////代码//////////////////////////////// ... 
- 【转】 谈谈C++中的swap函数
		1,最通用的模板交换函数模式:创建临时对象,调用对象的赋值操作符. template <class T> void swap ( T& a, T& b ) { T c(a) ... 
- [C++]STL容器Vector的内存释放
		直接抛出两句话,说明到底应该如何释放Vector占用的内存. “vector的clear不影响capacity,你应该swap一个空的vector.” <Effective STL>中的“ ... 
- vector介绍
		vector(向量,也可称为容器): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 1.1 ... 
- C++STL之Vector向量详解,用法和例子 一起学习 一起加油
		C++ STL之vector用法总结 1 ... 
随机推荐
- 福州3中集训day5
			数论,zld神犇认为我们都学过数论的,讲了一波高端(入门?)操作,从扩展欧几里得开始,同余方程诸如此类,早晚得重修.连课件都没,拿着画图讲了一上午 sro_zld_orz 具体内容都记在本上. 还是说 ... 
- JDBC操作数据库的基本流程
			所有的JDBC应用程序都具有下面的基本流程: 1.加载数据库驱动并建立到数据库的连接. 2.执行SQL语句. 3.处理结果. 4.从数据库断开连接释放资源. 下面我们就来仔细看一看每一个步骤: 其实按 ... 
- [BZOJ 1177] Oil
			Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1177 Solution: 相当于将大矩形分为3块,取每块中最大的正方形 对于此类分成几块 ... 
- [POI2018]Prawnicy
			题目大意: 有$n(n\le10^6)$个线段,每个线段覆盖的范围是$[l_i,r_i]$,要求从中选取$k(k\le10^6)$个线段使得这些线段覆盖范围的交集最大,求最大交集及任意一种方案. 思路 ... 
- Linux下使用xargs将多行文本转换成一行并用tr实现逗号隔开
			准备: cat test.txt 示例: cat test.txt | xargs 可以看出得到的字符串为空格隔开的. 再把上面的字符串用逗号隔开,可以使用tr命令进行空格的替换 cat test.t ... 
- 7zip File: How to Uncompress 7z files on Ubuntu, Debian, Fedora
			转:http://www.thegeekstuff.com/2010/04/7z-7zip-7za-file-compression/ Question: How do I uncompress a ... 
- Shader and Program编程基本概念 - 转
			原地址:http://blog.csdn.net/myarrow/article/details/7737313 一.本文关注的问题: • Shader and program 对象介绍• 创建并编译 ... 
- SQL CTE 递归分割以逗号分隔的字符串
			)) INSERT INTO @t SELECT 'AAA,BBB,CCC' SELECT * FROM @t ;WITH mycte AS ( ,mend,num FROM @t UNION ALL ... 
- Swift,集合
			1.创建(Set)集合(无序不可重复) (1)创建空集合 var a=Set<Int>() //[] (2)创建集合 var a:Set=[1,2,3] //[2,3,1] 2.集合插入( ... 
- JavaScript的map循环、forEach循环、filter循环、reduce循环、reduceRight循环
			1.map循环 let arr=[1,2,3,4]; arr.map(function(value,key,arr){ //值,索引,数组(默认为选定数组) return item; //如果没有re ... 
