買った。ソフトウェア設計の本なのだが、最近のC++の機能(言語機能と標準ライブラリの両方)の使い方が目当てである。
本書はデザインパターンを核に据えたソフトウェア設計の本なのだが、同時に、デザインパターンをModern C++で実装したらどうなるかを解説している本でもある。すなわち、現実のプロダクション・レベルのプログラミングにおいてModern C++の機能をどのように使うことが可能であるか、説明付きのコードが提示されている訳だ。読み進めているうちに「標準ライブラリにこんな機能も用意されているのか」とか「あの機能は、こう使うこともできるのか」といった風に、設計以外の面でも思わぬ知見が得られるものである。
それと同時に、後世になってデザインパターンを学ぼうとして、しかし肝心のサンプルコードが古き良きクラスベースのオブジェクト指向プログラミング版しか見当たらず、思わず「これはつらい……」と嘆息してしまった人にとって、Modern C++前提のサンプルコード付きの本書は福音となるかもしれない。
非常に興味深い本である。Modern C++目当てで買ったものの、私自身はソフトウェア設計についてろくに学んでこなかった人なので、デザインパターンの解説の部分にも目を通している。
