常量初始化

来自cppreference.com
< cpp‎ | language


 
 
C++ 语言
 
 

设置静态变量的初值为编译时常量。

目录

[编辑] 解释

在以下情况下会进行常量初始化

(C++11 前)
  • 在满足以下所有条件的情况下初始化具有静态线程存储期的引用:
  • 表示具有静态存储期的对象的左值
  • 临时对象
  • 临时对象的子对象
  • 函数
  • 在满足以下任一条件的情况下初始化具有静态或线程存储期的对象:
  • 如果对象通过调用构造函数来初始化,那么该初始化的完整表达式是一个常量表达式,但它也可以为该对象和它的子对象调用 constexpr 构造函数(即使这些对象具有非字面类类型)。
  • 否则,要么该对象被值初始化,要么初始化器中出现的每个完整表达式都是常量表达式。
(C++11 起)
(C++17 前)