【发布时间】:2014-06-16 11:37:36
【问题描述】:
在《C++ Concurrency in Action》附录A.3一书中,在介绍默认函数时,它说:
一般情况下,如果你手动编写任何其他构造函数,编译器将不再为你生成默认构造函数,所以如果你想要一个你必须编写它,这意味着你失去了这个奇怪的初始化属性。然而, 通过将构造函数显式声明为默认,你可以强制编译器为你生成默认构造函数,并保留该属性。
这是否意味着在某些情况下(除了显式添加=default)即使使用用户定义的构造函数,编译器仍会生成默认构造函数?如果是,这些情况是什么?或者我只是在这里挑剔的话。
【问题讨论】:
-
不,它只是它所说的意思,即
= default是它的意思。
标签: c++ c++11 constructor default-constructor