【发布时间】:2011-02-21 09:34:20
【问题描述】:
假设以下代码是可以正确编译的合法代码,T 是类型名称,x 是变量名称。
语法一:
T a(x);
语法二:
T a = x;
这两个表达式的确切语义是否有所不同?如果有,在什么情况下?
如果这两个表达式确实有不同的语义,我也很好奇标准的哪一部分谈到了这一点。
另外,如果 T 是标量类型的名称时存在特殊情况(又名,int,long,double,等等...),当 T 是标量时有什么区别类型与非标量类型?
【问题讨论】:
标签: c++ language-features initializer language-lawyer