C++11中的array

stl中的vector功能相比普通数据而言是要强大很多的,代价是需要动态的内存管理机制(分配,再分配,释放)。

而有时候我们只需要普通的数组而已,这就带来了效率上的浪费。

array就是用来代替普通的数组的,打开头文件,发现该模板中有如下语句:

_Ty _Elems[_Size == 0 ? 1 : _Size];

这是该模板类的数据成员,发现没,就是普通的数组,现在知道为什么它的第二个模板参数必须是const size_t了吧。

但是使用array模板相比使用普通的数据而言,有利于我们避开原始的指针访问方式,借助迭代器以及一系列的成员函数,使用更安全的数组。

原文地址:https://www.cnblogs.com/hustxujinkang/p/4114681.html