C++ 参考类型和存储持续时间

C++ 参考类型和存储持续时间,c++,storage-duration,C++,Storage Duration,首先,我引用存储持续时间的定义(第3.7.1/1节N3797): 存储持续时间是定义最小存储时间的对象的属性 包含对象的存储器的潜在生存期 但3.7.1/3说: 存储持续时间类别也适用于引用 这很奇怪。我认为引用在内存中根本没有表示。我还认为对象和仅对象在内存中表示(第1.8/1节): 对象是一个存储区域 将存储期限概念引入参考文件有什么意义?摘自§8.3.2/4: 未指定引用是否需要存储 因此,如果引用确实需要一些存储,则该存储的生存期对应于引用的存储持续时间。引用通常在内存中表示为指针:它们

首先,我引用存储持续时间的定义(第3.7.1/1节N3797):

存储持续时间是定义最小存储时间的对象的属性 包含对象的存储器的潜在生存期

但3.7.1/3说:

存储持续时间类别也适用于引用

这很奇怪。我认为引用在内存中根本没有表示。我还认为对象和仅对象在内存中表示(第1.8/1节):

对象是一个存储区域

将存储期限概念引入参考文件有什么意义?

摘自§8.3.2/4:

未指定引用是否需要存储


因此,如果引用确实需要一些存储,则该存储的生存期对应于引用的存储持续时间。

引用通常在内存中表示为指针:它们也有存储和生存期。未指定引用是否占用存储。引用不是对象。(“X是Y”并不意味着“Y是X”)。您的第二个报价没有出现在N3337中;它一定是从那时起添加的,正如您所指出的,它的措辞似乎很糟糕。其目的大概是,引用的生存期的定义方式与每个存储类别中对象的生存期相同。@MattMcNabb所有引号均来自N3797Yes,在N3337之后,假设引用是伪装的指针,它们变得更容易理解。但如果引用不需要存储,那么在这种情况下,引用的存储持续时间意味着什么?