【发布时间】:2015-08-25 19:31:25
【问题描述】:
In my answer 这个question 提到如果变量声明为const,我发布的代码将不起作用。
如果我想初始化一个 const 类型的长数组怎么办
int main (){
const int ar[100];
//this is invalid in c++
//something like this
for (int i=0;i <100;++i)
ar[i]=i;
return 0;
}
除了使用该问题中提出的#define method 之外,还有其他方法吗?
【问题讨论】:
-
你能详细说明一下吗?我不明白你在问什么
-
@CoryKramer 我认为他是说他不能在定义后修改 const int[],因此他不能初始化它。
-
const int ar[100];甚至不是合法的 C++,你不能让数组未初始化 -
我想这是我对this answer 的评论的后续问题?在这种情况下,只需检查您对该问题的真诚回答即可。
-
没有标准的方法可以做到这一点。 Here is a very similar question 我的回答非常相似,还有一些建议非标准 gcc 扩展的答案。