// swap (vector overload)#include <iostream>#include <vector>main () {unsignedinti; std::vector<int> foo (3,100);// three ints with a value of 100std::vector<int> bar (5,200);// five ints with a value of 200foo.
使用vector的时候一般会先调用reserve扩充一个比较大的容量,以免vector在push_back超过capacity时自动扩容造成的低效率的拷贝操作。 当我们插入数据完成之后,想要释放多余的空间怎么办? 只需要一条语句就可以搞定: vector<int>(ivec).swap(ivec); 又叫做收缩到合适shrink to fit 另外,如果我们想强行释放vector所占的...
vector<int> myvector(10000, x);//这里打印仅仅是元素的个数不是内存大小cout <<"myvector size:"<<myvector.size()<<endl;//swap交换函数释放内存:vector<T>().swap(X);//T:int ; myvertor代表Xvector<int>().swap(myvector);//两个输出仅用来表示swap前后的变化cout <<"after swap :"<<myvec...
swap(containrc1,containerc2); //互换两个容器的元素 //C1容器1 //C2容器2 1. 2. 3. 4. 5. 代码示例: #include<iostream> #include<vector> #include<algorithm> usingnamespacestd; voidmyPrint(intval) { cout<<val<<" "; } voidtest01() { vector<int>v1; vector<int>v2; for(inti=0;i<...
#include <iostream> #include <vector> #include <iterator> #include <algorithm> using namespace std; int main(){ int a = 10; int b = 20; cout<< "原始数据 a = " << a << "\tb = " << b <<endl; swap(a, b); cout<< "交换后数据 a = " << a << "\tb = " << b ...
swap 交换技巧实现内存释放思想:vector()使用vector的默认构造函数建立临时vector对象,再在该临时对象上调用swap成员,swap调用 之后对象myvector占用的空间就等于一个默认构造的对象的大小,临时对象就具有原来对象v的大小,而该临时对象随即就会被析构,从而其占用的空间也 被释放。
即便是改为整型数组,编译依然报错,只有使用 vector 关键字改造成容器类型,编译才不会报错。二、swap 函数的用法 上面顺带提了一下 swap 的错误用法,这里重点介绍 swap 函数的正确用法。以 C/C++ 语言为例,使用字符串类型数据体验 swap 函数功能的代码,如下:而程序输出窗口如下:可以清楚地看到经过 swap 函数...
要使用VectorSwap,首先需要引入相关的头文件。在C++中,可以通过#include指令来引入头文件。对于Vector Swap来说,需要引入<algorithm>头文件,这个头文件中包含了交换操作所需的函数。 示例代码如下: cpp #include <algorithm> #include <vector> 这里,我们引入<algorithm>和<vector>两个头文件,其中<algorithm>头文件包...
tg_RVecSz=10;voidrandvec(vector<char>&vec,size_tsz,charcmin,charcmax,boolzend=true){assert(c...
vector< T >().swap(X) 下面我们通过一个简单的示例来show一下: [cpp]view plaincopy /*** * Copyright (C) Jerry Jiang * * File Name : swap.cpp * Author : Jerry Jiang * Create Time : 2012-3-24 4:19:31 * Mail : jbiaojerry@gmail.com...