C++ 常量表达式 constexpr

C++ 常量表达式 constexpr,第1张

1、编译时就可得到结果

声明为constexpr的变量一定是常量,且必须用常量表达式初始化。


constexpr int num1 = 20;			20是常量表达式
constexpr int num2 = num1 + 1;		num1 + 1是常量表达式
constexpr int num3 = size();		只有 size 是个constexpr函数时,该语句才正确

新标准允许定义constexpr的函数,这种函数足够简单,以使得编译时就可计算出结果,这就能用constexpr函数初始化constexpr变量了。


2、指针和constexpr

如果用constexpr定义了一个指针,则,constexpr仅对指针有效,与指针所指的对象无关。


const int* num1 = 10;		num1 是个常量指针,指向可以改,指向的东西不能改
constexpr int* num2 = 100;	num2 是个指针常量,指向的东西可以改,指向不能改

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/562267.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-01
下一篇 2022-04-01

发表评论

登录后才能评论

评论列表(0条)

保存