直接初始化非类类型?

时间:2018-01-11 17:41:53

标签: c++

我已阅读this,我的重点将放在首页。我理解直接初始化对类类型的影响,而不是非类类型。据解释,对非类类型的影响是:

  

否则,如果T是非类类型,则使用标准转换,如果   必要的,将其他值转换为cv-nonqualified版本   T。

正如您在上面的引文中所看到的,只提到了一些关于转换以及用于实现此目的的内容,但是如何使用直接初始化简单地初始化非类类型,例如:

int a(10);

这是怎么做到的?我在文章中找不到相应的解释。

此外,解释了这种语法对类类型的影响,但那些甜的非类类型呢?如果它调用某种类型的构造函数来返回值,那将是有意义的。希望我没有错过任何明显的东西 - 这会令人尴尬:)。

1 个答案:

答案 0 :(得分:0)

你所要求的并不是很清楚。但完整的引用实际上是这样的:

  

否则,如果需要,可以使用标准转换将其他值转换为C的非限定版本,,并从(可能转换的)值初始化对象。

因此int a(10);int a = 10;的作用相同。