2017-04-02 75 views

回答

2
const static int myInt1_ {20}; 

这是在C++ 11修订版中引入的新的统一初始化语法。仅在C++ 11之前

const static int myInt1_ = 20; 

将是有效的。引入了统一的初始化语法来解决更复杂的初始化结构中的一些解析歧义。在你的情况下,通过简单的静态类成员初始化,两种初始化语法都是有效的,并产生相同的结果。

+0

'量静态INT myInt3_(20)'都是你的人了,哈哈。 – 0xDEFACED

+0

不要使用大括号来防止缩小转换次数吗? –

2

不同类之间的括号和等号初始化之间的区别可能会涉及到,所以我将限制为回答整数。对于整数,基本上有一个区别:缩小转换。本编译:

const static int x = 3.0; 

这不。

const static int x{3.0};