C ++初始化样式

时间:2018-07-08 05:55:24

标签: c++ visual-c++ initialization

在读书的同时,我发现C ++提供了多种初始化样式。他们很少是:-

//1
double d1 {2.3};

//2
double d3 = {2.4};

因此,当我们使用花括号时,它说'='是可选的。所以我给了一个机会,令人惊讶的是第二种方法工作得很好,而第一种方法却出错了。 我正在使用Visual Studios2010。有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

C ++ 11引入了许多新的C ++结构,上面的“大括号”情况称为统一初始化。 VS 2013之前,Visual C ++尚未完全实现此功能。

  

您应该看到this doc pageC++ Code Guidelines

VS 2010仅实现了一些C ++ 0x草案功能,例如nullptrstatic_assertoverride / finaldecltype,新功能auto,以及lambda表达式和r值引用的第一个实现(也称为move构造函数和运算符)。它与C ++ 11兼容。对于C ++ 11 / C ++ 14编码,VS 2015 Update 3或VS 2017是更好的选择。

  

请参见this blog post