RAII

C++には RAII があって、C++で今の自分が書いたコードは絶対解放忘れを起こさないという自信が持てます

私の会社の本社で開発している次世代の大規模アプリはC++で書かれているが、RAIIやPimplイディオムなどを使ってちゃんと設計や実装をしていない気がする。メモリ管理がオブジェクト管理に集約されるので規則を遵守すれば、かなり開発やテストがやりやすくなるはずだが、メモリ管理のモジュールをベースに作って、メモリ管理は必ずそのモジュールのオブジェクトや関数を使うということにすればできそうであるが、現実はそこまで無理&実践していないだろう。まだ開発に関わってないが、難解なサードパーティーのライブラリの使い方やビルドが大変であったり、大量のコピペの素人実装であったりという話を聞くと大変そう。


追記:
よく考えてみたら、サードパーティーのライブラリがメモリ管理をしていたら、全てを自分達のコードで管理するのは不可能。メモリ管理はそんなに甘くはないなあ。