C++ vector 对象/array对象/数组

模板类vector和array是数组的替代品。

模板类vector

类似于string类,是一种动态数组,可在运行阶段设置vectoe对象长度,可在末尾或中间附加数据。她是使用new创建动态数组的替代品,实际上使用new创建动态数组的替代品,使用new和delete来管理内存,自动完成。

模板类array

vector功能强大,但效率低。C++11新增了模板类array,与数组一样,对象的长度固定,使用栈(静态内存分配),而不是自由存储区,效率更高/更安全。

不同点

array对象和数组存储在相同的内存区域(栈)中,而对象存储在另一个区域(自由存储区或堆);
可以将一个array对象赋值给另一个array对象,对于数组,必须逐元素复制数据。

你可能感兴趣的:(C++ vector 对象/array对象/数组)