ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

newに失敗したときNULLを返す

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;
    }
}