几天前,在阅读标准 C++ 新闻时,我阅读了有关C++11 中的默认函数的帖子,在那篇文章中提到用户定义的构造函数比编译器生成的构造函数效率低:
用户定义的默认构造函数比编译器隐式定义的默认构造函数效率低。
继续阅读,有一个示例,其中用户定义的构造函数被标记为默认值,然后说:
显式默认构造函数比手动编程的默认构造函数更有效。
我不明白这些断言,所以我想知道:
- 为什么用户默认构造函数(或特殊成员函数)的效率低于编译器隐式定义的构造函数?
- 通过显式默认构造函数(或特殊成员函数)如何提高效率?
- 我必须遵循哪些准则来选择默认构造函数(或特殊成员函数)以及效率如何影响这个决定?