まず最初に。
原書はそこそこ厚かったのに日本語版は妙に薄くなっていて、何故かなと思ったら章が3つほど削られていました。
Chapter 2. Code Organization
Chapter 11. Science and Mathematics
Chapter 13. Internationalization
が無くなっています。O'REILLYは時々こういう本がありますが、これは何か意味があるんでしょうか…どの章も微妙とは言え、Chapter 2.などは初心者向けに良いと思うのですが(インクルードガードなどが載っています)。
これらのChapterが無くなったおかげで、レシピも40ほど減少しています。
では、改めてこの本のレビューを。
タイトルにクックブックとあり、実際に問題とそれに対するレシピが載っているのですが、内容はレシピ集というよりは読み物です。
章ごとにテーマがあり、問題と回答を提示して章の内容(STLであったりboostであったり例外であったり)を紹介する、そんな感じです。
ですが、レシピ集という形をとっているせいなのか、内容が広範囲にわたっているせいなのか、どれも薄い内容です。
この本に載っている問題はライブラリの機能を使うだけで解決する、そのような問題がほとんどであり、レシピもライブラリをただ単純に使っているだけなのがほとんどです。
一度でもその分野の本なりマニュアルなりを読んでいれば即座に解決するものばかりであり、そのような人はコーディングの際に悩んだからこの本を引くということはあまり無いでしょう。
また、そのような知識のない人にとっても、ごくごく基本的な内容をつまみ食いすることに意味があるとはあまり思えません。この本に載っている内容だけでは解決できなかったり非効率であったりする問題に早晩に突き当たると思います。
そしてレシピの内容も、もっと良い方法があるところや胡散臭いところが幾つか…
結論として、この本はあまりおすすめできません。
C++をただ使えれば良いという方でもこの本では不十分でしょう。
この本を読むよりも(読んだことがないのなら)、C++標準ライブラリ チュートリアル&リファレンスなどのSTLの本をまず読むべきです。
例外安全やその他気をつけるべきところについて知りたかったらExceptional C++を、便利なライブラリが知りたいならboostの本やマニュアルを、C++の基本的なことを知りたいならEffective C++やプログラミング言語C++などをまず読みましょう。
内容は薄いですが広範囲(そこそこマニアックなのも含む)のことが載っていますので、C++を覚えたけど何がわからないかわからない初心者の方、あるいは広く浅く知りたいという方や、C++を一通りマスターしていて理解度を測りたい方などはこの本を読んでみるのも良いかもしれません。