在cpp中,我们可以将原始数据类型初始化为
int a(32);
这个构造函数的初始化是如何工作的? C ++会将其视为对象吗?
答案 0 :(得分:2)
这就是所谓的直接初始化。在C ++中,整数不是对象,您在此处编写的表达式不是构造函数。它只是将a初始化为32的值。
答案 1 :(得分:2)
最佳描述如下:
C ++ 03 8.5初始化程序
Para 12& 13:
.......
新表达式(5.3.4),static_cast表达式(5.2.9),功能表示法类型转换(5.2.3)以及基本和成员初始化程序(12.6.2)中发生的初始化称为
直接初始化,等同于表单T x(a);
如果T是标量类型,则表示
形式的声明T x = { a };
相当于
T x = a;
在问题中,类型为int
,这是标量类型。