C核心指南F5把时延敏感的小函

理由:

不能依靠编译器去优化内联函数。40年前我们承诺编译器比人类优化的更好。但是我们还在等待。把类内部的成员函数标注成inline可以让编译器优化的更好。

例子:

inlinestringcat(conststrings,conststrings2){turns+s2;}

例外:

不要把内联函数放在还没稳定的接口。内联函数是一种ABI。

constexpr默认是inline

注意:

类定义内的成员函数默认为inline

例外:

函数模板(包括类模板的成员函数AT::function()以及成员函数模板A::functionT()一般定义在头文件中,所以是inline函数。

强化:

超过3个语句的函数,如果声明为inline的需要注意下。可能要声明成非inline的。

C++核心指南是由C++创始人BjarneStroustrup和ISO/ANSIC++标准委员会秘书HerbSutter领导开发的关于如何正确高效使用C++的在线文档。就像C++语言本身一样,这些指南是许多组织中许多人多年讨论和设计的结果。

C++核心指南是由C++创始人BjarneStroustrup和ISO/ANSIC++标准委员会秘书HerbSutter领导开发的关于如何正确高效使用C++的在线文档。就像C++语言本身一样,这些指南是许多组织中许多人多年讨论和设计的结果。

kimim


转载请注明:http://www.aierlanlan.com/rzdk/578.html

  • 上一篇文章:
  •   
  • 下一篇文章: