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' 中缺少数组大小
自己动手试一试 »
固定大小(数组) vs. 动态大小(向量)
在讨论 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");
自己动手试一试 »