【发布时间】:2021-09-16 17:36:01
【问题描述】:
vector<int> arr 和int arr[] 有什么区别,除了数组有文件中的一些函数?
int arr[] 或 vector<int> arr 和 array<int, size> are 之间存在一些差异,因为 int arr[] 和 vector 与数组和其他数组不同,是动态大小的。
【问题讨论】:
-
一个是向量,另一个是数组。它们不是一回事。
-
vector与 C 无关。因此假设您询问的是 C++(它们是不同的语言),因此已为您删除了 C 标记。 -
int arr[]是固定大小 - 它根据初始化的东西确定大小,之后您无法更改大小。std::array<int, size>也是固定大小,但在传递给函数时不会衰减为指针,因此您始终知道它的大小。vector<int>的大小不是固定的——它会随着添加内容自动变大,而且在传递给函数时它不会衰减为指针,因此您始终知道它的大小