C++ 省略数组大小
省略数组大小
在 C++ 中,您不必指定数组的大小。编译器足够聪明,可以根据插入的值的数量确定数组的大小。
string cars[] = {"Volvo", "BMW", "Ford"}; // 三个数组元素
上面的例子等同于
string cars[3] = {"Volvo", "BMW", "Ford"}; // 也是三个数组元素
然而,最后一种方法被认为是“最佳实践”,因为它可以减少程序中错误的可能性。
声明时省略元素
也可以在声明时不指定元素来声明数组,并在稍后添加它们。
示例
string cars[5];
cars[0] = "Volvo";
cars[1] = "BMW";
cars[2] = "Ford";
cars[3] = "Mazda";
cars[4] = "Tesla";
亲自尝试 »
注意:上面的例子只有在您指定了数组大小的情况下才有效。
如果您没有指定数组大小,就会出现错误。
示例
string cars[]; // 数组大小未指定
cars[0] = "Volvo";
cars[1] = "BMW";
cars[2] = "Ford";
cars[3] = "Mazda";
cars[4] = "Tesla";
// 错误:'cars' 中缺少数组大小
亲自尝试 »
固定大小 (数组) 与动态大小 (向量)
在讨论 C++ 中的数组时,您经常会听到“固定大小”和“动态大小”这两个术语。
这是因为 C++ 中数组的大小是固定的,这意味着您无法在创建数组后添加或删除元素。
数组 - 固定大小示例
// 一个包含 3 个元素的数组
string cars[3] = {"Volvo", "BMW", "Ford"};
// 尝试向 cars 数组添加另一个元素 (第四个元素) 会导致错误
cars[3] = "Tesla";
亲自尝试 »
向量
对于需要添加和删除数组元素的操作,C++ 提供了向量,它们是可调整大小的数组。
向量的尺寸是动态的,这意味着它可以根据需要进行增长和缩小。
向量位于 <vector>
库中,它们附带了许多有用的函数,用于添加、删除和修改元素。
向量 - 动态大小示例
// 一个包含 3 个元素的向量
vector<string> cars = {"Volvo", "BMW", "Ford"};
// 向向量添加另一个元素
cars.push_back("Tesla");
亲自尝试 »