如果在对象的生命周期结束之后并且在重用或释放对象占用的存储之前,则在原始对象占用的存储位置创建新对象,指向原始对象的指针,引用引用原始对象,或者原始对象的名称将自动引用新对象,并且一旦新对象的生命周期开始,就可以用来操纵新对象,如果:
- 新对象的存储正好覆盖原始对象占用的存储位置,以及
- 新对象与原始对象的类型相同(忽略顶级cv限定符),和
- 原始对象的类型不是const限定的,如果是类类型,则不包含任何类型为const限定的非静态数据成员或引用类型,以及
- 原始对象是类型为T的派生程度最高的对象(1.8),新对象是类型为T的派生程度最高的对象(也就是说,它们不是基类子对象).
目前尚不清楚什么样的类型是什么意思?动态还是静态?我认为,它是静态类型,因为否则后一种限制毫无意义.