C++ new的时候判断null空指针操作可能成为bug,需要这么改1.new异常的结果2.全局重装new和delete
1.new异常的结果在C++中,通过new分配内存时,假如内存不够,会根据编译器版本不同来处理异常,对于老的编译器,会返回null空指针(和malloc一样).但是目前大多数标准编译器都是直接抛出异常的.测试代码如下所示:try{ for (int i = 0 ; i<1000;i++) { // 不停new,直到new分配失败为止 double *ptr=new double[1000000]; cout<<"i .