2017-02-21 32 views

回答

5

会发生什么

案例1:未定义行为。

p没有被new(而是new[])调用返回,所以delete p;是UB。


案例2:未定义的行为。

p+1没有被new[]调用返回,所以p++;delete[] p;是UB。

0

你可以释放你没有分配的内存。 你必须调用删除同一指针值,你回来使用新

+0

不可以。不确定。它可以释放记忆,它可以做别的事情。 –

+0

我的第二个陈述是正确的。只要将'意志'视为'可能' –

相关问题