ホーム > 読んだ

スティーブン・R・デイビス
C++ のからくり
C++ for Dummies 2nd Editon

ガイド

書誌

authorスティーブン・R・デイビス
editor瀬谷啓介(訳)
publisherソフトバンク
year1998
price3,600+tax
isbn7973-0573-8

目次

1本文
2抄録

履歴

editor唯野
1999.summer読了
2000.3.27公開
2002.11.28修正
2020.2.25文字化け修正

C++ の入門書というと一般にはどうしても C の延長線上という切り口を持つものが多い。もちろん、それは C++ にとっては最大の長所(C の資産を流用しやすい)であり、かつ最大の短所(中途半端なオブジェクト指向 ?)でもあるのだが、それだけに本書はそういった通俗的ではない切り口を持つだけでも注目できる本だと思う。実際、本書は既に新版が邦訳されており人気もあるようだ。

具体的にいうと、C++ の文法や機能としてどういうもののあるのかは分かったが、それを C++ として、もっといえばオブジェクト指向的な文脈として使うとはどういうことなのか――という点で疑問を持つ人に勧められる内容になっている。本書が謳う売り文句ではないが「なぜそういう機能があるのか」という視点に立った説明は無味乾燥な機能の羅列よりもはるかに理解しやすい。また、C の経験者を意識した同一プログラムを C から C++ へと書き換えていく章末の例題は C と C++ による実装の違いを何よりも分かりやすい方法で示すことに成功していると思う。そういう意味でも C++ の完全な入門書にはなりえないが、2 冊目・3 冊目に読む本としては非常によい本だと思う。

抄録

10-11

long double 型は 80 ビット長で Intel 製 CPU の FPU (浮動小数点数演算ユニット)が持つ内部レジスタの長さに対応している。初期の FPU は 80x87 という名称で CPU とは独立していたが、486DX から FPU が組み込まれるようになった。モトローラ製 CPU でも同じく 80 ビット長である 68881 という名の FPU を持っている。

12

ファイル内で static な変数を extern することはできない。

グローバル変数はデータセグメントと呼ばれる領域に常駐する。

15/74-75

C では引数を何も指定しなかった場合、引数の個数や数をチェックしない。つまり、あらゆる型や個数が許されるという意味で、これは「...」と明示することができる。具体的には可変個数引数である関数(printf など)で利用されている。(ちなみに戻り値を略すと int になる。)一方、C++ で引数のない場合には、引数が void だと判断される。

つまり、C と C++ では関数の引数を略した場合の解釈が異なるので、C++ プログラムにおいて extern "C" した同名の関数は別関数となる。(唯野)