为什么还是有很多 C++ 程序员在 new 之后判断 null?
2023-06-25 阅读 41
C++程序员在使用`new`操作符分配内存时,如果内存不足或者分配失败,会抛出`std::bad_alloc`异常,而不是返回`NULL`指针。但是,在某些情况下,程序员可能会使用一些旧的代码或者遗留代码,这些代码可能没有使用异常处理机制,而是使用了`NULL`指针来判断内存分配失败的情况。此外,一些程序员可能认为使用`NULL`指针更加直观和易于理解,也可以避免一些异常处理机制带来的额外开销。但是,使用`NULL`指针来判断内存分配失败的情况是不安全的,因为这种做法容易导致程序崩溃或者出现未定义的行为。因此,建议程序员在使用`new`操作符分配内存时,应该使用异常处理机制来处理内存分配失败的情况,而不是使用`NULL`指针来判断。
更新于 2023年06月27日