C++中的内联函数和constexpr函数
内联函数可避免函数调用的开销
调用函数:将函数在美国调用点上“内联地”展开。(在函数前加个inline就可以了)
内联说明只是向编译器发出一个请求,编译器可以忽略这个请求。
说明:内联机制用于优化规模较小,流程直接,频繁调用的函数,很多编译器都不支持内联 递归函数。
constexpr 函数
constexpr 函数(constexpr function)是指能用于常量表达式的函数。
遵循的约定:函数返回值以及多有的形参类型都得是字面值类型。
函数体重必须有且只有一条return语句。
eg: constexpr int new_sz () { return 42; }
note: constexpr 函数不一定返回常量表达式。
把内联函数和constexpr 函数放在头文件内。