分类: C/C++
2007-12-05 15:25:47
不!(但如果你只有旧的编译器,你可能不得不。)
总是在每一个new 调用之后写显式的 NULL 测试实在是非常痛苦的.如下的代码是非常单调乏味的:
如果你的编译器不支持(或如果你拒绝使用), 你的代码可能会更单调乏味:
振作一下。在 C++中,如果运行时系统无法为p = new Fred()分配 sizeof(Fred) 字节的内存,会抛出一个 std::bad_alloc 异常。与 malloc()不同,new 永远不会返回 NULL!
因此你只要简单地写:
然而,如果你的编译器很古老,它可能还不支持这个。查阅你的编译器的文档找到“new”。如果你只有古老的编译器,就必须。