std::array和std::vector
时间: 2023-12-14 10:03:36 浏览: 96
Vector:类似于C ++ std的序列容器
std::array和std::vector都是C++标准库提供的容器类型,它们都可以用来存储一组相同类型的数据。它们有一些相似之处,也有一些不同之处。
相似之处:
1. 都是存储一组相同类型的数据的容器类型。
2. 都可以通过下标访问容器中的元素。
3. 都可以使用迭代器来遍历容器中的元素。
不同之处:
1. std::array是一个固定大小的数组,而std::vector是一个动态数组,可以在运行时动态调整大小。
2. std::array在编译时就确定了其大小,而std::vector的大小可以在运行时动态改变。
3. std::array的内存是在栈上分配的,而std::vector的内存是在堆上分配的。
4. std::array没有提供添加和删除元素的方法,而std::vector提供了这些方法。
5. std::array的元素类型不能是不完整类型,而std::vector可以存储不完整类型的元素。
因此,当需要存储一组固定大小的元素时,可以使用std::array;当需要存储一组元素,并且需要动态调整容器大小时,可以使用std::vector。
阅读全文