📜  C++ STL中Vector的默认值(1)

📅  最后修改于: 2023-12-03 14:59:46.262000             🧑  作者: Mango

C++ STL中Vector的默认值

在C++ STL中,vector是一个非常有用的容器。它可以动态地存储数据,并且支持快速地随机访问。在使用vector时,我们经常需要初始化它的元素。本文将介绍vector的默认值及其用法。

vector的默认值

在C++ STL中,vector的初始化方式有很多种。我们可以使用vector的构造函数来初始化它的元素,也可以使用assign()方法或resize()方法来改变vector的大小。

vector的默认值取决于元素的类型。对于基本数据类型(如int、double、bool等),它们的默认值为0(或false,当元素类型为bool时)。对于自定义类型,它们的默认值由它们的构造函数决定。

下面是一些常见元素类型的默认值示例:

// 初始化一个存储5个int的vector,所有元素的默认值为0
vector<int> v1(5);

// 初始化一个存储5个string的vector,所有元素的默认值为空字符串
vector<string> v2(5);

// 定义一个自定义类型Person
class Person {
public:
    string name;
    int age;
    // 定义构造函数
    Person(string n, int a) {
        name = n;
        age = a;
    }
};

// 初始化一个存储3个Person对象的vector,所有元素的默认值由Person的构造函数决定
vector<Person> v3(3);
使用默认值的技巧

对于基本数据类型来说,0可能不是我们想要的默认值。在某些情况下,我们需要将默认值设置为其他值。

// 初始化一个存储5个int的vector,所有元素的默认值为1而非0
vector<int> v4(5, 1);

我们还可以在实际使用vector时,根据需要将所有元素的值设置为默认值。

// 定义一个带有10个元素的vector
vector<int> v5(10);

// 将vector的所有元素设置为默认值2
fill(v5.begin(), v5.end(), 2);
总结

在C++ STL中,vector是一种常用的容器,它可以动态地存储数据并支持快速访问。vector的默认值取决于元素的类型,对于基本数据类型,它们的默认值为0。我们可以使用构造函数、assign()方法或resize()方法来初始化vector并改变其大小,也可以使用fill()方法将所有元素设置为默认值。