C++之数组及其替代品

在C的学习中我们知道数组的使用,但是在c++中还有另外两种数组的替代品——vector和array。
1)模板类vector
vector也是一种动态数组,在使用vector时需要包含头文件vector,其次vector包含在名称空间std中。下面举个例子:

#include <vector>
 ...
 using namespace std;
 vector <int> vi;//初始长度为零的整型数组
 int n;
 cin >> n;
 vector <double> vd(n);//初始长度为n的double型数组
 从这段代
码可以看到vector的基本使用方法。
一般而言,下面的声明创建一个名为vt的vector对象,它可存储n_elem个类型为typeName的元素:
vector <typeName> vt(n_elem)
其中参数n_elem可以是整型常量或整型变量。

2)模板类array
与数组一样array对象的的长度也是固定的,也使用栈(静态内存分配),而不是自由存储区,因此其效率与数组相同,但是更方便、更安全。创建array对象时需要包含头文件array。例如:

#include <array>
 ...
 using namespace std;
 array <int , 5> ai;//创建包含5个整型数据的数组
 array <double ,4>ad={1.2,2.3,4.0,5.3};//创建同时进行初始化 

一般而言,下面的声明创建一个名为arr的array对象,它包含n_elem个类型为typename的元素:

array <typeName,n_elem> arr;//n_elem不能是变量 

对于array和vector都可列表进行初始化。

发布了2 篇原创文章 · 获赞 1 · 访问量 112

猜你喜欢

转载自blog.csdn.net/NIUNIUDEDALAO/article/details/104714901