C++11 标准的第 8.5p7 段指出:
对 T 类型的对象进行值初始化意味着:
如果 T 是具有用户提供的构造函数 (12.1) 的(可能是 cv 限定的)类类型(第 9 条),则调用 T 的默认构造函数(如果 T 没有可访问的默认构造函数,则初始化格式错误) ;
如果 T 是没有用户提供的构造函数的(可能是 cv 限定的)非联合类类型,则该对象被零初始化,并且如果 T 的隐式声明的默认构造函数不平凡,则调用该构造函数。
如果 T 是一个数组类型,那么每个元素都是值初始化的;
否则,对象被零初始化。
我在理解上面的粗体字符时遇到了问题。T 的隐式默认构造函数的额外调用如何改变在这种情况下刚刚发生的零初始化?