模板类vector和array是数组的替代品。
模板类vector
类似于string类,是一种动态数组,可在运行阶段设置vectoe对象长度,可在末尾或中间附加数据。她是使用new创建动态数组的替代品,实际上使用new创建动态数组的替代品,使用new和delete来管理内存,自动完成。
模板类array
vector功能强大,但效率低。C++11新增了模板类array,与数组一样,对象的长度固定,使用栈(静态内存分配),而不是自由存储区,效率更高/更安全。
不同点
array对象和数组存储在相同的内存区域(栈)中,而对象存储在另一个区域(自由存储区或堆);
可以将一个array对象赋值给另一个array对象,对于数组,必须逐元素复制数据。
网友评论