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都可列表进行初始化。

原文链接: https://www.cnblogs.com/blog-zhangchongen/p/14948124.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++之数组及其替代品

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/333881

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午9:24
下一篇 2023年3月1日 下午9:24

相关推荐