引用: ゲームプログラマのためのコーディング技術 by 大圖衛玄(Moriharu Ohzu)さん
nullオブジェクトとは、nullポインタの代わりとなるダミーオブジェクトのことです。
元々のコード
if (player != nullptr) {
player->move();
}
...
if (player != nullptr) {
player->draw();
}
nullオブジェクトクラスを作成する
class NullActor : public Actor {
...
virtual void move() override { } // do nothing
virtual void draw() override { } // do nothing
};
player = new NullActor();
変更後のコード
player->move();
player->draw();
if文がなくなったため、すっきりした。