新的或新的[]运算符

Umm*_*mma 8 c++ new-operator delete-operator

考虑以下代码:

typedef  SomeType type_t[2];
SomeType * arr1 = new type_t; //new or new[] ???
type_t * arr2 = new type_t[3]; //new or new[] ???
Run Code Online (Sandbox Code Playgroud)

根据标准,new在第一和第二案例(newnew[])中将调用哪个版本以及如何删除arr1arr2(使用deletedelete[])?

fre*_*low 9

第一种情况分配一维数组,第二种情况分配二维数组.必须通过它们释放它们delete[],否则你将得到未定义的行为.