< cpp | language
这是在不使用初始化器构造变量时执行的初始化。
语法
T object ; |
(1) | ||||||||
new T
|
(2) | ||||||||
解释
默认初始化在三种情形进行:
1) 不带初始化器声明拥有自动、静态或线程局域存储期的变量时;
2) 以不带初始化器的 new 表达式创建拥有动态存储期的对象时或以带由一个空括号对组成的初始化器的 new 表达式创建对象时 (C++03 前);
3) 未在构造函数初始化器列表提及基类或非静态数据成员,且调用了该构造函数时。
默认初始化的效果是:
- 若
T
是非 POD (C++11 前)类类型,则构造函数得到考虑,并受制于针对空形参列表的重载决议。调用所选的构造函数(默认构造函数之一),以提供新对象的初始值; - 若
T
是数组类型,则每个数组元素都被