Som*_*ame 5 c c++ compilation
以下代码片段与C/C++编译器完美编译:
#include <stdio.h> int main() { int x = {5}; //<-- why this compiles? printf("x = %d",x); return 0; }
输出是5. x这里以复合形式初始化,尽管它是整数类型.我想了解这里的转换以及原因.
5
x
oua*_*uah 8
C允许它:
(C99,6.7.8p11)"标量的初始值设定项应为单个表达式,可选择用括号括起来."
C++在C++ 11,8.5.4p1中有类似的规则
归档时间:
12 年,8 月 前
查看次数:
218 次
最近记录: