当前位置:首页 C++ > 正文

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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击