constexpr 含义和用法
时间: 2024-06-04 10:04:20 浏览: 177
const的理解和用法
constexpr是C++11中新增的关键字,用于声明变量或函数为常量表达式。常量表达式是在编译期间计算的表达式,其值可以在编译时确定,而不需要在运行时计算。constexpr可以用于声明常量、构造函数、函数、指针等。
下面是一些constexpr的使用案例:
1. 声明常量:可以使用constexpr关键字将变量声明为常量表达式,例如:
constexpr int a = 10; // a是一个常量表达式
2. 函数中使用:可以使用constexpr关键字定义函数,用于在编译时计算结果,例如:
constexpr int add(int x, int y) {
return x + y;
}
这个add函数可以在编译期间计算结果,如果传入的参数是常量表达式,那么返回值也是常量表达式。
3. 构造函数中使用:可以使用constexpr关键字定义构造函数,用于在编译时初始化对象的值,例如:
class Point {
public:
constexpr Point(int x, int y) : m_x(x), m_y(y) {}
private:
int m_x;
int m_y;
};
4. 指针中使用:可以使用constexpr关键字声明指针为常量表达式,例如:
constexpr int* ptr = nullptr; // ptr是一个常量表达式指针
阅读全文