C++で普通にコンテナやSmart Pointerを使って書けば、参照カウンタ
を使うにしてもプログラマが一々retainやautoreleaseの必要性を判断
する必要は無い。適切なコードを挿むのはコンパイラの仕事、スコー
プを外れたり参照が無くなれば確実に消える。