C++でnewに失敗したときは例外が投入されるが、NULLを返すようにすることもできる。
ポインタ変数 = new(nothrow) 型;
nothrowを付ければ例外ではなくNULLを返すようになる。
#include <iostream> using namespace std; void main() { int* p; for(int i=0; i<1000; i++) { p = new(nothrow) int[100000000]; if (!p) return; cout << p << endl; } }