Accelerated C++

効率的なプログラミングのための新しい定跡

 

2001年12月20日発売 334ページ 2700円+税
ピアソン・エデュケーション発行 A.コーニグ、B.E.ムー著 小林健一郎訳



 ピアソンから発刊されているC++ In-Depth Seriesの一冊で、前に翻訳しました「C++再考」の著者らによる、新しいC++入門書です。「C++再考」が中級者を対象にしたものであるのに対し、こちらは、初心者からある程度の経験あるプログラマまでを対象にした本です。(まったくのプログラミング初心者には少し厳しいかもしれません。)
 スタイルは実際のプログラミングを考えながら文法を説明するというものです。

 本書は、入出力方法等の説明を除くと、vector(配列を拡張したもの)など、標準テンプレートライブラリ(STL)のツールを使うことからはじめます。これは、プログラミングをC++から学ぶ人にも、また、すでにCなどを学んだ人たちにも、さらにC++を「古いスタイル」で使っている人たちにも、有効な解説方法だと思います。
 解説は、あくまでも、必要なときに必要に応じてなされ、非常に読みやすくなっています。その上で、本書だけでC++のかなりの部分が理解できると思います。ぜひ一度ご覧になってください。

 第 0章 さあ、はじめよう
 第 1章 stringを使う
 第 2章 ループとカウント
 第 3章 たくさんのデータを扱う
 第 4章 プログラムとデータの構成
 第 5章 シーケンシャルコンテナとstringの解析
 第 6章 ライブラリのアルゴリズムを使う
 第 7章 連想コンテナを使う
 第 8章 ジェネリック関数を書く
 第 9章 新しい型を定義する
 第10章 メモリ管理と低レベルのデータ構造
 第11章 抽象データ型を定義する
 第12章 値のように振る舞うクラスオブジェクト
 第13章 継承と動的結合を使う
 第14章 メモリを(ほとんど)自動で管理する
 第15章 文字絵をもう一度
 第16章 ここからどこへ行くか?
 付録A 言語の詳細
 付録B ライブラリのまとめ

 訳者としてまた著者として、私自身のC++入門書「これならわかるC++」との関係は、書いておかなければならないと思います。拙著「これならわかるC++」は、「(なるべく)はじめからクラスを作り、その利用方法を考えながら先に進む」というスタイルであったのに対し、本書は「標準ライブラリを使うことからはじめ、それからクラスの自作に進む」というスタイルです。(明記しておきたいことは、散見される「まずCの部分の説明をしてから、クラスの説明に入る」というものとはまったく違うということです。)
 以上の理由から、個人的には、本書と「これならわかるC++」は、(基礎的な部分は重複しますが)よく補い合うような関係にあると考えます。ただ、本書はプログラミング初心者のみならず、経験がある人が読んでも益のあることが豊富です。すでに拙著を読まれた方(ありがとうございます)が、本書に進むのもよいと思います。
 また、同じ著者らの前作「C++再考」をすでに読んだ方には、本書はすらすらと読めてしまうと思います。しかし、前作ではふれられなかったSTLの具体的な使い方を見るという意味で、一読の価値があると思います。