constexpr的用法
时间: 2023-12-10 07:35:31 浏览: 91
constexpr关键字
constexpr是C++11引入的关键字,用于声明常量表达式。常量表达式是指在编译时就能得到计算结果的表达式。使用constexpr可以让编译器在编译时计算表达式的值,从而提高程序的执行效率。
constexpr可以用于变量、函数和构造函数的声明。对于变量,constexpr声明的变量必须是一个常量表达式,即其值在编译时就能确定。对于函数和构造函数,constexpr声明的函数必须满足一定的条件,例如函数的参数和返回值必须是字面值类型,函数体必须只包含一条return语句等。
以下是constexpr的用法示例:
1. 声明一个常量表达式变量
```c++
constexpr int mf = 20; //20是常量表达式
constexpr int limit = mf + 1; // mf + 1是常量表达式
```
2. 声明一个constexpr函数
```c++
constexpr int size() { return 10; } //这是一个constexpr函数
constexpr int sz = size(); //之后当size是一个constexpr函数时才是一条正确的声明语句
```
3. 声明一个constexpr构造函数
```c++
class MyClass {
public:
constexpr MyClass(int x) : val(x) {} //这是一个constexpr构造函数
private:
int val;
};
```
阅读全文