大部分的C++开发者在他们的代码中会广泛的使用STL。如果你直接用STL和Visusal Studio 6.0,那么你的程序将在内存很低的情况下极有可能崩溃掉。原因在于没有对new操作的结果进行检验。更糟的是,若new操作确实失败了,得到的反馈也没有一个标准可言——有的编译器会返回空指针,而有的会抛出异常。
#include <new>
auto p = new (std::nothrow) type;
if ( nullptr == p )
大部分的C++开发者在他们的代码中会广泛的使用STL。如果你直接用STL和Visusal Studio 6.0,那么你的程序将在内存很低的情况下极有可能崩溃掉。原因在于没有对new操作的结果进行检验。更糟的是,若new操作确实失败了,得到的反馈也没有一个标准可言——有的编译器会返回空指针,而有的会抛出异常。
#include <new>
auto p = new (std::nothrow) type;
if ( nullptr == p )