C++之vector的用法整理

C++之vector的用法整理,第1张

vector是向量类型,可以容纳许多类型的数据。使用时需包含头文件:#include<vector>

关于vector的内存空间,有两个函数需要注意:size()成员指当前拥有的元素个数;capacity()成员指当前(容器必须分配新存储空间之前)可以存储的元素个数reserve()成员可以用来控制容器的预留空间。vector另外一个特性在于它的内存空间会自增长,每当vector容器不得不分配新的存储空间时,会以加倍当前容量的分配策略实现重新分配。例如,当前capacity为50,当添加第51个元素时,预留空间不够用了,vector容器会重新分配大小为100(原来的两倍)的内存空间,作为新连续存储的位置。

vector的内存占用空间只增不减,所有内存空间是在vector析构时候才能被系统回收。

可以用swap()来帮助你释放内存。具体方法如下:

如果vector中存放的是指针,那么当vector销毁时,这些指针指向的对象不会被销毁,那么内存就不会被释放。如下面这种情况,vector中的元素时由new *** 作动态申请出来的对象指针:

~vector()

销毁容器对象并回收了所有分配的内存

C++头文件之C、传统 C++

#include <assert.h>//设定插入点

#include <ctype.h>//字符处理

#include <errno.h>//定义错误码

#include <float.h>//浮点数处理

#include <fstream.h>  //文件输入输出

#include <iomanip.h>  //参数化输入/输出

#include <iostream.h> //数据流输入/输出

#include <limits.h>//定义各种数据类型最值常量

#include <locale.h>//定义本地化函数

#include <math.h> //定义数学函数

#include <stdio.h>//定义输入/输出函数

#include <stdlib.h>//定义杂项函数及内存分配函数

#include <string.h>//字符串处理

#include <strstrea.h> //基于数组的输入/输出

#include <time.h> //定义关于时间的函数

#include <wchar.h>//宽字符处理及输入/输出

#include <wctype.h>//宽字符分类

C++头文件之标准 C++ (同上的不再注释)

#include <algorithm>  //STL 通用算法

#include <bitset> //STL 位集容器

#include <cctype>

#include <cerrno>

#include <clocale>

#include <cmath>

#include <complex>//复数类

#include <cstdio>

#include <cstdlib>

#include <cstring>

#include <ctime>

#include <deque>  //STL 双端队列容器

#include <exception>  //异常处理类

#include <fstream>

#include <functional> //STL 定义运算函数(代替运算符)

#include <limits>

#include <list>//STL 线性列表容器

#include <map>//STL 映射容器

#include <iomanip>

#include <ios>//基本输入/输出支持

#include <iosfwd> //输入/输出系统使用的前置声明

#include <iostream>

#include <istream>//基本输入流

#include <ostream>//基本输出流

#include <queue>  //STL 队列容器

#include <set>//STL 集合容器

#include <sstream>//基于字符串的流

#include <stack>  //STL 堆栈容器

#include <stdexcept>  //标准异常类

#include <streambuf>  //底层输入/输出支持

#include <string> //字符串类

#include <utility>//STL 通用模板类

#include <vector> //STL 动态数组容器

#include <cwchar>

#include <cwctype>

using namespace std

C++头文件之C99 增加

#include <complex.h>//复数处理

#include <fenv.h>//浮点环境

#include <inttypes.h>//整数格式转换

#include <stdbool.h>//布尔环境

#include <stdint.h> //整型环境

#include <tgmath.h> //通用类型数学宏


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11854414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存