gpt4 book ai didi

C++ 编译时表达式作为数组大小

转载 作者:太空宇宙 更新时间:2023-11-03 10:37:30 24 4
gpt4 key购买 nike

我不确定这个术语是否真的是“数组加法”。

我试图了解以下行的作用:

int var[2 + 1] = {2, 1};

这与 int var[3] 有何不同?

我已经使用 Java 好几年了,所以如果能使用 Java 友好的词语进行解释,我将不胜感激。

编辑:非常感谢所有帮助我的人,奥卡姆 Razor 在这里适用。

最佳答案

没有什么不同。 C++ 允许在数组声明的下标中使用表达式(甚至非常量表达式)(有一些限制;多维数组上除初始下标之外的任何内容都必须是常量)。

int var[];  // illegalint var[] = {2,1};  // automatically sized to 2int var[3] = {2,1};  // equivalent to {2,1,0}: anything not specified is zeroint var[3];  // however, with no initializer, nothing is initialized to zero

也许您正在阅读的代码写的是 2 + 1 而不是 3 以提醒尾随 0 是故意的。

关于C++ 编译时表达式作为数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/159339/

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