我一直试图想出一个很好的理由,为什么这个析构函数被调用而不仅仅是清楚,但我不知所措.有人说明为什么这可能是个好主意?@H_301_3@
这是一个邪恶的事情,但你可以合法地做(没有未定义的行为),只要存储被同一类型的对象(忽略cv限定符)重用,它占用了所有的存储:@H_301_3@
T automatic; automatic.T::~T(); new (&automatic) T();
C标准的3.8.7节描述了这种使用场景,并解释了它的合法性;它甚至包括一个类似于上面的例子.@H_301_3@