c++ 定义数组下标必须是常量吗
作者:野牛程序员:2023-07-16 09:50:07 C++阅读 3053
在标准的 C++ 中,数组的下标必须是常量表达式。这意味着数组的下标必须在编译时就能确定,不能是在运行时根据用户输入或其他变量的值来确定的。
然而,从 C++11 开始,C++ 引入了一个新特性,即“运行时大小的数组”。使用这个特性,可以在运行时动态地创建数组,并且数组的大小可以是一个变量。这种情况下,数组的下标可以是非常量。
下面是一个使用常量下标和非常量下标的示例代码:
#include <iostream>
int main() {
const int size = 5;
int array[size]; // 使用常量下标
int n;
std::cout << "请输入数组大小:";
std::cin >> n;
int dynamicArray[n]; // 使用非常量下标
return 0;
}在上面的代码中,array 是一个具有常量下标的数组,其大小在编译时就确定了。而 dynamicArray 是一个具有非常量下标的数组,其大小在运行时根据用户的输入确定。
需要注意的是,运行时大小的数组是 C++ 中的扩展特性,不是标准 C++ 的一部分。它在某些编译器上可能可用,但在其他编译器上可能不被支持。因此,使用运行时大小的数组时要小心考虑跨平台和编译器兼容性的问题。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

