set_new_handler
安装要调用的用户函数,则 operator new 失败其尝试分配内存时。
new_handler set_new_handler(
new_handler _Pnew
) throw( );
参数
- _Pnew
的安装 new_handler。
返回值
0 在第一次调用和对的后续调用以前的 new_handler。
备注
函数存储在它所维护的静态 新的处理程序 指针的 _Pnew,然后在指针返回以前存储的值。 使用 new 运算符新处理程序 (size_t)。
示例
// new_set_new_handler.cpp
// compile with: /EHsc
#include<new>
#include<iostream>
using namespace std;
void __cdecl newhandler( )
{
cout << "The new_handler is called:" << endl;
throw bad_alloc( );
return;
}
int main( )
{
set_new_handler (newhandler);
try
{
while ( 1 )
{
new int[5000000];
cout << "Allocating 5000000 ints." << endl;
}
}
catch ( exception e )
{
cout << e.what( ) << endl;
}
}
要求
新 <的页眉: >
命名空间: std