何时将参考零初始化?

Ale*_*der 17 c++ initialization language-lawyer c++11

N3797草案中的§8.5/6 说:

零初始化T类型的对象或引用意味着:

  • ...
  • 如果T是引用类型,则不执行初始化.

我想要一个零初始化的引用示例.

Woj*_*wka 16

后来标准说"在进行任何其他初始化之前,静态存储持续时间的每个对象在程序启动时都是零初始化的." 所以,如果你有例如全球范围

int x;
int& r = x;
Run Code Online (Sandbox Code Playgroud)

r首先进行零初始化,然后由x初始化.作为参考,零初始化意味着什么,所以它仅仅是技术性的.

  • @JosephMansfield在Standardese中,引用和对象是截然不同的.Wojtek提到的准确措辞(强调我的):'**静态存储持续时间(3.7.1)或线程存储持续时间(3.7.2)的变量**应在任何其他初始化之前进行零初始化(8.5)发生了.' 变量可以具有引用类型. (2认同)