gpt4 book ai didi

c++ - const 限定符和数组

转载 作者:搜寻专家 更新时间:2023-10-31 00:11:57 24 4
gpt4 key购买 nike

我正在学习C++,我对数组有疑问(我还在研究这个主题,有些东西很清楚,而有些东西对我来说仍然有点晦涩难懂)。我想知道这些声明是否合法,如果合法,它们如何影响新创建的数组:

假设我想创建一个整数数组(为简单起见):

我知道以下是合法的

int array[size];

其中size是一个常量表达式

还有这个

const int array[size];

这个声明意味着我可以读访问数组中的元素,但我不能分配给它们(int a=array[2] 是合法的,array[1]=10 是一个错误)。

像这样的“顶级”常量怎么样

int const array[size];

const int const array[size];

他们首先是合法的吗?如果是这样,它们是什么意思?本身不是数组常量,不可能分配给数组或复制初始化数组?

谢谢!

编辑:

我知道“顶级”和“低级”const 的含义(尽管我了解到我可以将 const 限定符放在基本类型说明符之前和之后,这不会改变任何东西)。我想知道的是定义一个 const 数组(我的意思不是 const 对象或变量的数组)如何改变事情。

最佳答案

下面两个语句是有效且相等的,

const int a[5]={1,2,3,4,5}; 

int const a[5]={1,2,3,4,5};

这是初始化常量数组的方法。

下面的声明给你一个语法错误。

const int const a[5];

关于c++ - const 限定符和数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31981110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com