【发布时间】:2013-06-01 05:42:39
【问题描述】:
前几天,在阅读Standard C++ news时,我读到了关于Defaulted functions in C++11的帖子,在那篇文章中提到用户定义的构造函数比编译器生成的效率低:
用户定义的默认构造函数比编译器隐式定义的默认构造函数效率低。
继续阅读,有一个示例,其中用户定义的构造函数被标记为默认值,然后说:
显式默认构造函数比手动编程的默认构造函数更有效。
我不明白这些断言,所以我想知道:
- 为什么用户默认构造函数(或特殊成员函数)的效率低于编译器隐式定义的构造函数?
- 显式默认构造函数(或特殊成员函数)如何提高效率?
- 我必须遵循哪些准则来选择默认构造函数(或特殊成员函数)以及效率如何影响这个决定?
【问题讨论】:
-
好一个@shivakumar,但这两个问题还没有一个公认的答案,即使你提到的那个是2010年的! :O
标签: c++ constructor defaulted-functions