再编译时运行想当与UE事件函数
constexpr
{
}
再编译时运行想当与UE事件函数
constexpr
{
}
constexpr可以用来修饰变量、函数、构造函数。一旦以上任何元素被constexpr修饰,那么等于说是告诉编译器 “请大胆地将我看成编译时就能得出常量值的表达式去优化我”。
constexpr函数
constexpr函数:是指能用于常量表达式的函数,即可以在编译时计算其返回值的函数。
常量表达式是指值不会改变且在编译过程就能得到计算结果的表达式。
const expression
constexpr函数
注意:
1.函数中只能有一个return语句。
2.返回值必须是字面值类型(算术类型、引用、指针属于字面值类型)。
3.参数必须是字面值类型(自定义类、IO库、string类型不属于字面值类型)。
4.constexpr函数被隐式地指定为内联函数。
5.允许递归。
#include <iostream>
using namespace std;
//常量表达式函数
constexpr int fact(int n)
{
return n == 1 ? 1 : n * fact(n - 1);
}
//常量表达式
constexpr int num = 5;
int main()
{
//在编译期间可以计算结果并返回结果
cout << fact(num) << endl;
cout << fact(3) << endl;
//实参为变量时,在程序运行期间计算并返回结果
int i = 8;
int res = fact(i);
cout << res << endl;
return 0;
}
内联函数
inline + 调用函数(不支持递归)
inline int res ( inta, intb)
{
return a+b;
}
主函数