stl中的vector功能相比普通数据而言是要强大很多的,代价是需要动态的内存管理机制(分配,再分配,释放)。
而有时候我们只需要普通的数组而已,这就带来了效率上的浪费。
array就是用来代替普通的数组的,打开头文件,发现该模板中有如下语句:
_Ty _Elems[_Size == 0 ? 1 : _Size];
这是该模板类的数据成员,发现没,就是普通的数组,现在知道为什么它的第二个模板参数必须是const size_t了吧。
但是使用array模板相比使用普通的数据而言,有利于我们避开原始的指针访问方式,借助迭代器以及一系列的成员函数,使用更安全的数组。
原文:http://www.cnblogs.com/hustxujinkang/p/4114681.html