今天在思考cpp中关于new int[0]的问题思考下面这么一段代码:
int * a = nullptr; // a==nullptr a = new int[0]; // a!=nullptr delete[] a;
上面这段代码发生delete会执行怎么一个过程呢?a!=nullptr,那么会不会释放a[0]这个位置的内存,以及cpp 中new int[0]的意义
动态分配一个空数组是合法的,new返回一个合法的非空指针,释放这个指针也是合法的