我遇到了一个小的标准头文件<new>
。我以前可能没有见过它的直接用途。这里是g++ 版本,供有兴趣的人使用。
以下部分是我感兴趣的:
struct nothrow_t { };
extern const nothrow_t nothrow;
/** If you write your own error handler to be called by @c new, it must
* be of this type. */
typedef void (*new_handler)();
/// Takes a replacement handler as the argument, returns the previous handler.
new_handler set_new_handler(new_handler) throw();
- 程序员如何使用
struct nothrow_t
它及其对象?nothrow
对象真的需要extern
吗? - 什么时候
new_handler
用? - 为什么所有的
operator new/delete
都在extern C++
块中声明?