D&Eからだけど、こうするとグローバル変数とローカル変数しか作れなくなるそうだ。
class No_free_store {
    class Dummy { };
    void* operator new(size_t, Dummy);
    // ...
};