说我有以下内容:
struct A
{
int x;
};
//...
A* aOriginal = new A(); //value construct aOriginal
assert( aOriginal->x == 0 );
A* aSecond = new (aOriginal) A;
assert( aSecond->x == 0 );
即使aSecond
没有进行值初始化,第二个断言是否也能保证成立?从逻辑上讲,它应该,因为内存没有被覆盖,但它是由标准指定的吗?