C++怎么定义constexpr
1、什么是constexpr
constexpr是c++11中引入的关键字,它可以用来修饰变量、函数以及类,表示这些变量、函数以及类都具有常量表达式的特性。常量表达式是指可以在编译期就可以计算出值的表达式,使用constexpr修饰的变量、函数以及类,就具有了常量表达式的特性,而且constexpr修饰的变量、函数以及类在编译期就会被优化,使用constexpr可以让我们写出更加高效的代码。
2、constexpr的定义方式
constexpr可以用来修饰变量、函数以及类,它们的定义方式如下:
1、定义constexpr变量:
constexpr int a = 10;
2、定义constexpr函数:
constexpr int fun(int a, int b) { return a + b; }
3、定义constexpr类:
class A {
public:
constexpr int fun(int a, int b) { return a + b; }
};
3、constexpr的使用场景
constexpr的使用场景有:
1、可以用来定义常量,使用constexpr修饰的变量,在编译期就会被优化,比如:
constexpr int a = 10;
int b = a + 10;
在编译期,编译器会优化成:
int b = 20;
2、可以用来定义模板参数,比如:
template
struct Array {
T data[size];
};
3、可以用来定义函数,比如:
constexpr int fun(int a, int b) { return a + b; }
int c = fun(1, 2);
在编译期,编译器会优化成:
int c = 3;
上一篇
java CAP理论是什么 猜您想看
-
电脑屏幕出现闪烁怎么办?
当电脑屏幕出现...
2023年04月20日 -
刷机失败后手机变砖怎么办?
刷机落败后手机...
2024年05月29日 -
怎样帮助解决大数据转换和管理问题
一、数据转换大...
2023年05月25日 -
Hadoop多节点测试环境快速部署半自动脚本的示例代码
准备工作在部署...
2023年07月23日 -
微信中如何删除或取消关注公众号?
删除或取消关注...
2023年05月15日 -
怎么在QQ上设置发送消息字数?
一、如何设置发...
2023年05月15日