向量在C ++中优于数组的优势

在这里,我们将看到C ++中向量优于数组的一些优缺点。

  • 向量是模板类。这是仅C ++构造。数组是内置的语言构造。数组以不同的语言显示。

  • 向量通过具有列表接口的动态数组实现,可以使用具有原始数据类型的静态或动态方式实现数组。

示例

#include<iostream>

#include<vector>

using namespace std;

int main() {

   int array[10]; //statically allocated array

   int* arr = new int[10]; //dynamically allocated array

   vector<int> vec;

}

  • 数组大小是固定的。创建一个数组时,我们无法更改大小。向量的大小是动态的。如果我们添加新元素,则如果该位置不可用,它将为其创建新空间以及一些其他空间。

  • 如果数组是动态分配的,那么我们必须手动对其进行分配。但是在vector中,我们不需要取消分配,它会自动取消分配。

示例

#include<iostream>

#include<vector>

using namespace std;

int main() {

   int* arr = new int[10]; //dynamically allocated array

   delete(arr); //deallocate manually

   vector<int> vec; //will be deallocated when variable is out of scope

}

  • 如果要获取动态分配数组的大小,则无法轻松获取大小。对于向量,我们可以在恒定时间内获得大小。

  • 如果要使用函数参数发送一个数组,则必须发送另一个变量以获取大小或长度。如果发送向量,则不需要传递其他变量。

  • 除非使用动态分配的新数组,否则不能返回一个数组,但是可以从函数返回向量。

以上是 向量在C ++中优于数组的优势 的全部内容, 来源链接: utcz.com/z/321639.html

回到顶部