最主要的区别在,
const 所定义的变量,一经初始化便不能修改,但是不要求const所定义变量在编译的时候就能被算出。
constexpr 定义的变量要求,变量在程序被编译的时候就能被判定为常量,否则出错。
总结来说,constexpr 定义的变量“常量的属性” 比const 所定义的变量更彻底(这是我自己的语言)
还有知乎上某网友总结:const 就像readonly,constexpr 是一直为常量。
更详细的区别请移步 Stackoverflow 问答
本文主要讲解了const与constexpr两个关键字的区别。const定义的变量一旦初始化就不能更改,但并不强制要求在编译期间确定其值;而constexpr定义的变量必须能够在编译时就确定其值,否则会引发错误。
最主要的区别在,
const 所定义的变量,一经初始化便不能修改,但是不要求const所定义变量在编译的时候就能被算出。
constexpr 定义的变量要求,变量在程序被编译的时候就能被判定为常量,否则出错。
总结来说,constexpr 定义的变量“常量的属性” 比const 所定义的变量更彻底(这是我自己的语言)
还有知乎上某网友总结:const 就像readonly,constexpr 是一直为常量。
更详细的区别请移步 Stackoverflow 问答
403
703

被折叠的 条评论
为什么被折叠?