C ++标准草案陈述
存储持续时间类别也适用于参考。该 参考的生命周期是其存储持续时间。
然后
之后无法更改引用以引用其他对象 初始化。请注意,处理引用的初始化 与赋值完全不同。论证传递(5.2.2)和 函数值return(6.6.3)是初始化。
与指针不同,指针可以指向不同的内存,但不能说是参考。为什么引用有自己的生命周期?
答案 0 :(得分:3)
允许销毁引用某个引用的对象,并在其存储位置构造(例如,通过placement-new)另一个对象。只要满足某些要求,原始引用就会再次生效。
引用3.8[basic.life]/7
7如果在对象的生命周期结束之后和存储之前 对象占用的是重用或释放的,一个新的对象是 在原始对象占用的存储位置创建,a 指向原始对象的指针,一个引用 引用原始对象,或原始对象的名称 将自动引用新对象,一旦生命周期 新对象已经启动,可以用来操纵新对象, 如果: