2015-09-18

Effective Modern C++の見本が届いた

Effective Modern C++の見本が届いた。

なぜ私のもとに見本が送られてきたかというと、知人の岡田真太郎君が査読をしたのだという。

中を見てみたが、C++11の新機能のさわりの解説と、いくつかの落とし穴の照会と、落とし穴を避けるためのいくつかのお作法が含まれているようだ。

最後の方の並列APIの章は、なんだかまとまりが無いように感じた。threadのことは一切解説しないのにthreadはjoin可能な状態で放置するな(デストラクターでstd::terminateが走るため)というお作法だけ書くのはよくわからない。また、atomic操作のさわりだけ教えても意味がないように思う。

weak_ptrも何故紹介したのかわからない。weak_ptrとatomic操作は、素人が付け焼き刃で使える機能ではない。

この本の浅い解説から考えると、大半の読者はweak_ptrやatomicを使う必要に迫られることはまずないし、使う資格もないだろうと思う。このように浅く存在だけ解説すると、必要もないのに使ってみたくなる人間が増えはすまいか。心配になる。

とはいえ、考えてみると、この本は初心者を対象にしたものではない。この本を読むには、すでにC++をある程度実用的に書ける必要がある。かつ、Effective C++やHerb SutterのExceptional C++などのC++本を読んでいて、C++03時代のC++は知っていることを前提にしている。

また、そもそも、今C++を書く人間は、到底素人ではないからこれでいいのだという意見も聞いた。

3 comments:

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.