use*_*094 0 c++ arrays dynamic
int main(){
int *p=new int[5];
//case 1: delete p;
//case 2: p++;delete[] p;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我分别使用案例1和案例2会发生什么?
会发生什么
案例1:未定义的行为.
p调用没有返回new(但代替new[]),delete p;UB也是如此.
案例2:未定义的行为.
p+1没有回复new[],p++;delete[] p;UB也是如此.