読むならC++を何万行も書く前に読みましょう。C++」の続編の本です。未踏の期間が終わったこともあり、読む時間を作ることができました。この本は英語版で、一応日本語版もあるのですが、訳の評判はあまり良くありません。英語版の方も非常に読みやすい英語で、JavaDocレベルの英語が読めればなんとかなると思います。C++では言語の根本的な部分のと比較して、Moreの方では細かい話が多いです。したものはdelete[]、と対応させないといけません。関数の引数で暗黙的な変換が起こるのは値渡しかconst参照渡しの時だけで、しかも変換は一度しか起きません参照カウントなスマートポインタデストラクタは例外が起こってもちゃんと実行されるのでリソースリークを避けるのに使えます。多重継承・virtual継承する時のオブジェクトのデータフォーマットはこうなっている(事が多い)ですよといった内容です。C++を読んだ時に感じた、あの驚きをもう感じることはできませんでした。C++を読んで少しC++を書き始めた時期に読めばもっと参考になったのでしょうが、数万行書いた後となると...。C++と違い、Moreは95年から一度も改訂されていません。STLは出たばかりの時期だったようです。本を読むよりソースを読んで書いてWebのリソース読むのが好きな人は、まあ読まなくても...。この本の中で特に一番大きく扱われているのは、参照カウント・スマートポインタです。sharedされている値そのものが参照カウント数を管理する、boostでいうところのintrusive_ptr相当のものをじっくり実装したあと、階層を一個上げてshared_ptr相当のものを実装します。相当のものがある事からも分かる通り、どちらも既に有名なもので、いまいち読んでも驚きがありません。weak_ptrを扱っていませんし、参照カウントで問題になる「自分へのshared_ptrを基本的に持てない」という問題も扱っていません。