c++ new的时候,如果长度为0,虽然会有指针产生,但是 则会产生意想不到的错误,
int * array = new int[0];
array[0] = 0;
虽然能访问,但是,取决于正在访问的内存是不是有人在使用或占用,如果有人使用,则该内存不是野内存,会报错;
o长度的动态分配数组,delete的时候也会有报错出现,找不到内存;
这种情况要注意。
本文探讨了C++中new操作符用于创建0长度数组时的行为及潜在问题,包括尝试访问空数组元素可能导致的未定义行为,以及释放这类数组时可能出现的异常情况。
c++ new的时候,如果长度为0,虽然会有指针产生,但是 则会产生意想不到的错误,
int * array = new int[0];
array[0] = 0;
虽然能访问,但是,取决于正在访问的内存是不是有人在使用或占用,如果有人使用,则该内存不是野内存,会报错;
o长度的动态分配数组,delete的时候也会有报错出现,找不到内存;
这种情况要注意。
811

被折叠的 条评论
为什么被折叠?