使用运算符大小初始化数组?

Ano*_*ous 2 c c++ syntax sizeof

我有一个想要初始化的数组

char arr[sizeof(int)];
Run Code Online (Sandbox Code Playgroud)

该表达式的计算结果是否为编译时常量或导致函数调用?

Naw*_*waz 5

char arr[sizeof(int)];
Run Code Online (Sandbox Code Playgroud)

就语言而言,这很好,尽管数组仅被声明(和定义),但如果它是局部变量,则不会初始化。如果它是在命名空间级别声明的,那么它是静态零初始化的。

请注意,这sizeof(int)是类型的常量表达式size_t;它的值在编译时就已知。

  • @Anonymous:实际上似乎完美地回答了你的问题。 (2认同)