首页 > 解决方案 > 向量有什么区别arr 和 int arr[]

问题描述

vector<int> arr和之间有什么区别int arr[],除了数组具有文件中的一些函数?

int arr[]orvector<int> arr和之间存在一些差异array<int, size> are,因为int arr[]andvector与数组和其他数组不同,是动态大小的。

标签: c++arraysdynamic

解决方案


数组是一种语言特性,从 C 继承到 C++ 语言。它具有固定大小,并且必须在编译时知道该大小。它将一堆值(或对象)按顺序存储在内存中。它提供了一些功能——您可以使用方括号运算符访问数组的元素。(即int x = arr[4]会给你第 4 个索引处的元素。)

std::vector由标准模板库 (STL) 提供。它是一个容器,这意味着它是一个存储其他值和对象的对象。它在一个简单的数组上提供了许多额外的功能。最重要的是,它可以随着新对象的添加或删除而增长。如果向量的增长大于支持其存储的内存,则在内部它将重新分配内存并将存储的值移动到更大的内存中。

注意:向量和数组可以通过迭代器访问,这是循环遍历容器中所有元素的常用方法。

容器存在其他算法,允许进行各种操作、排序、查找等。


推荐阅读