M・クライン,G・ロモウ,M・ギルウ
C++ FAQ 第2版
C++プログラミングをきわめるためのQ&A集
ガイド
書誌
author | M・クライン,G・ロモウ,M・ギルウ |
editor | 金澤典子(訳) |
publisher | ピアソン・エデュケーション |
year | 2000 |
price | 4,800 |
isbn | 89471-194-X |
履歴
editor | 唯野 |
2000.11 | 読了 |
2001.7.17 | 公開 |
2002.10.21 | 修正 |
2020.2.25 | 文字化け修正 |
書名通りの内容であるが、本書は文法の詳細に対する解説部分よりも前半の C++ をプロジェクトで使うとはどういうことか――という部分で特に得るところが多い。というのも、C++ は確かにメジャーな言語であるが、それもプロジェクト全体から見れば選択肢のひとつに過ぎないのであり、そのくらい冷めた視点をまず持たないと、肥大化した C++ の機能面に眼を奪われるという最大の落とし穴に陥ってしまうからである。
これは特に C++ によって OOPL を学んだ私のような人間で特にあてはまることなのだが、それだけに、もし読者が OOPL として C++ しか経験がないのであれば、中盤以降よりも序盤部分こそがおすすめである。逆にいうと、中盤部分は 『Effective C++』 などとの重複が多いので、これらとの併読を勧める。この場合の本書は『Effective C++』よりも項目の分類が細かいので、より接しやすく必要な箇所だけの部分読みが可能な点で優れている。なお、終盤部分は COM や CORBA といった C++ を用いた応用分野まで取り上げているが、これは概要の理解という側面が強いので C++ という言語に対する包括的理解という意味では貴重だが、いずれにせよ本格的にやるのであれば別の専門書が必要である。
いずれによせ、(これも冒頭の方で触れられているように)言語にとっては構文的な使用方法の理解よりも適切な使い方(リスクの少ないルール)の理解が非常に重要であり、それはダークサイドな側面の多い C++ ではなおさらである。言語ルールのリファレンスなら『プログラミング言語 C++』で済むかもしれないが、入門書の先の実用力を得る点において本書は『Effective C++』と並びおすすめできる好著だと思う。
(但し、割と errata が多いようなので、必ず訳者のサイトの正誤表を手元に置くこと。これも C++ の本を読む場合では約束事のひとつである。というよりも、それがために一般に訳書を買う場合は、ある程度の評価が定まり、かつ版を重ねているもの、訳者によるサポートのちゃんとしているものというのが、ひとつの選択基準となる。周りに識者がおらず独学的な場合は特に事前に Web でその辺まで調べた方がよいと思う。)
抄録
1.09
この本での用語。継承-派生は基本的に public のそれを指す。あるオブジェクトがオブジェクトへのポインタを持っていて、それの削除できることをリモートオーナーシップと呼ぶ。メソッドはメンバ関数と同義語に扱う。C 言語ととしては ISO のそれを想定する。main( ) の return 0; はコンパイラによる挿入を想定している。型名とプリプロセッサシンボルは大文字、データメンバは小文字。クラススコープのメンバには _ を最後に付ける。
2.02
main は return 0; がなくてもよい唯一の関数。
2.03
戻り値の持たない関数をプロシージャと呼ぶことがある。