声明为constexpr
的变量一定是常量,且必须用常量表达式初始化。
constexpr int num1 = 20; 20是常量表达式
constexpr int num2 = num1 + 1; num1 + 1是常量表达式
constexpr int num3 = size(); 只有 size 是个constexpr函数时,该语句才正确
新标准允许定义constexpr
的函数,这种函数足够简单,以使得编译时就可计算出结果,这就能用constexpr
函数初始化constexpr
变量了。
constexpr
如果用constexpr
定义了一个指针,则,constexpr
仅对指针有效,与指针所指的对象无关。
const int* num1 = 10; num1 是个常量指针,指向可以改,指向的东西不能改
constexpr int* num2 = 100; num2 是个指针常量,指向的东西可以改,指向不能改
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)