为了解决 const 关键字的双重语义问题,而将“常量”的语义划分给了新添加的 constexpr 关键字。
const 表示“只读”,constexpr 表示“常量”。
常量在编译阶段就能计算出来,提高程序的执行效率。
1 |
|
大部分场景下两者可以混用,但建议区分开。
1 | const int a = 5 + 4; |
在某些场景中,必须使用 constexpr:
1 |
|
“只读”和“不允许被修改”之间并没有必然的联系,可借助指针、引用等其他变量修改(但无法通过变量自身去修改)。
为了解决 const 关键字的双重语义问题,而将“常量”的语义划分给了新添加的 constexpr 关键字。
const 表示“只读”,constexpr 表示“常量”。
常量在编译阶段就能计算出来,提高程序的执行效率。
1 |
|
大部分场景下两者可以混用,但建议区分开。
1 | const int a = 5 + 4; |
在某些场景中,必须使用 constexpr:
1 |
|
“只读”和“不允许被修改”之间并没有必然的联系,可借助指针、引用等其他变量修改(但无法通过变量自身去修改)。