大家好
欢迎继续学习C++语言程序设计
这一节要介绍的呢
是C++11标准开始
提供的新功能
constexpr函数
这是一个常量表达式函数
它可以用来初始化常量的
那么它的关键是承诺
只要给的参数是常量表达式
它的返回值就一定是常量表达式
那么在这一节
我们是把这一种机制
给大家做一个简单的介绍
好 现在我们来看一下
这个constexpr函数的语法规定
那么constexpr实际上就是说
这个函数它承诺
如果所有的参数
都是constexpr的时候
它的返回值一定是一个
常量表达式
也就是constexpr
这样的函数的函数体中
它只允许有一条return语句
我们现在看一下
这样一个例子
这里我们定义了一个
get_size函数
但是在这个get_size函数里面呢
只是return一个常量20
只有这样一条语句
那么也就是说这个函数
它要返回什么值
在编译阶段
编译器就是可以解决的
编译器本身就可以解决
那也就是说
它是编译期间可计算的
这么一个函数
所以说我们可以用这样一个函数
来初始化一个常量表达式变量
那么foo这里是一个常量表达式在定义foo这个变量的时候
前面用了constexpr这个关键字
来修饰
那么我们调用这个函数
来初始化这个变量的时候
这个函数就必须是
有constexpr修饰的函数
它的返回值
必须是一个常量表达式