C++11常量表达式

时间:2023-03-08 17:32:47

C++11之常量表达式

 关键字:constexpr; 中文学名:常量表达式。

 constexpr用于把运行期计算放置在编译期。

 使用constexpr有3个限制:

  1、函数中只能有一个return语句(有极少特例)

  2、只能调用其它constexpr函数

  3、只能使用全局constexpr变量

  一个constexpr函数,只允许包含一行可执行代码。但允许包含typedefs、 using declaration && directives、静态断言等。

  假如你将一个成员函数标记为constexpr,则顺带也将它标记为了const。如果你将一个变量标记为constexpr,则同样它是const的。但相反并不成立,一个const的变量或函数,并不是constexpr的。

  用例:

  C++11常量表达式

参考:

 1、http://towriting.com/blog/2013/09/17/constexpr/

 2、http://wenku.baidu.com/link?url=zOf7KDnq7YTgiQ2kv0fCVZJw9h-fChNZTnm0ZMH8ROlGYkfFvQWQaFpwzAsWThEAadqxDrYagjrUdzmerS7cWHRls0VUlFVQymjmZULJCQu