首页 C++系列14:constexpr
文章
取消

C++系列14:constexpr

1
2
3
4
5
6
7
8
9
10
11
static constexpr QEvent::Type PingEventType = QEvent::Type(QEvent::User + 2);

const并未区分出编译期常量和运行期常量

constexpr限定在了编译期常量

All constexpr variables are const

const表示的是read only的语义,constexpr才是名符其实的常量

 C 里面,const 很明确只有「只读」一个语义,不会混淆。C++ 在此基础上增加了「常量」语义,也由 const 关键字来承担,引出来一些奇怪的问题。C++11 把「常量」语义拆出来,交给新引入的 constexpr 关键字。

参考

https://learn.microsoft.com/en-us/cpp/cpp/constexpr-cpp?view=msvc-170

欢迎评论交流

本文由作者按照 CC BY 4.0 进行授权