set_new_handlerを使ってnew演算子でメモリ確保に失敗した場合にエラーメッセージを表示するプログラム例です。
mainのnewでメモリ確保に失敗するとinformMemoryLeak関数が呼ばれます。
Example
mainのnewでメモリ確保に失敗するとinformMemoryLeak関数が呼ばれます。
This is a code for informing failure in allocating memory with using set_new_hander.
The new operator in main() called informMemoryLeak function if memory allocation has failed.
The new operator in main() called informMemoryLeak function if memory allocation has failed.
Example
#include <iostream>
using namespace std;
void informMemoryLeak(){
cerr<<"There is not enough memory.\n";
abort();
}
int main(){
set_new_handler(informMemoryLeak);
char *bigString = new char[0x7fffffff];
return 0;
}