4.10.2 模板类array(C++11)

2013-10-07 15:42:38 · 作者: · 浏览: 95

4.10.2  模板类array(C++(www.cppentry.com)11)

vector类的功能比数组强大,但付出的代价是效率稍低。如果您需要的是长度固定的数组,使用数组是更佳的选择,但代价是不那么方便和安全。有鉴于此,C++(www.cppentry.com)11新增了模板类array,它也位于名称空间std中。与数组一样,array对象的长度也是固定的,也使用栈(静态内存分配),而不是自由存储区,因此其效率与数组相同,但更方便,更安全。要创建array对象,需要包含头文件array。array对象的创建语法与vector稍有不同:

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

与创建vector对象不同的是,n_elem不能是变量。

在C++(www.cppentry.com)11中,可将列表初始化用于vector和array对象,但在C++(www.cppentry.com)98中,不能对vector对象这样做。