(ordered)orderedと通常がある。object_poolクラスのインスタンスを生成/破棄するorderedのみsingleton_poolサイズ別にシングルトンとして動作する。シングルトンとして使える。vectorなどSTLのコンテナのアロケーターとして使えるメモリの解放にはpurge_memoryしかない。};※これでunionから開放されます比較的サイズが小さいクラスを実体のままコンテナに格納する場合、継承したクラスオブジェクトを入れる事が難しい。手っ取り早い方法としては、unionを使う事があるが、unionを使うとコンストラクタが書けないなどのC++11以前の制約がある。maxPeoplesの情報も保持されるポインタを使えば解決するけど、小さいオブジェクトを全部newで作るのは効率が悪い。参照型のインスタンスをもつクラスは、通常だとvector等のコンテナに格納できない。必要リファレンス型の変数は、リファレンス情報の更新はできない。代入もswapも参照先のデータにたいして行われる。*this;}いちおう、言語的には安全。ハーブ・サッターさんは絶対に使うなと警告している方法コピーコンストラクタとデストラクタで例外を投げないことが前提。例外が発生すると破綻する。スレッドセーフでもない。シングルスレッド限定。コピーコンストラクタとnewの第二構文を使った初期化を使って実現する。スレッドセーフではない。スレッドセーフにするには排他処理が必要。ここで他のスレッドがthisを参照すると破綻する。コピーコンストラクタとnewの第二構文を使った代入の=を使って実現する。