「センス・オブ・プログラミング!」正誤表
このページは、拙書「センス・オブ・プログラミング!」技術評論社 ISBN4-7741-2173-8 の正誤表です。
ところどころ、ソース中の「!=」の間が妙に空いている部分があります。 「!」のフォントが全角になっているのが原因です。
現状で確認できている範囲で、以下の箇所です。
p.52 6行目
誤)
2.同プログラムが読みやすくなる
正)
2.プログラムが読みやすくなる
p.60 図2.4のふたつ上のパラグラフ
誤)
しかも、0と10は同じ指の形ですから、実質は0〜9までになるでしょう。
正)
しかも、0と10、1と9、2と8などは同じ形ですから、実際は6通りの数しか表現していません。
p.60 図2.4
左下の指の形は「6」を表現しているので、その下の数字は 0ではなく6でなければなりません。
p.66 図2.14
右下のOR回路が、絵の方だけAND回路になっています。
p.85 図2.26
コンパイラの出力は、hello.cではなくhello.oです。
p.113 下から3行目
誤)
ちなみにJavaやC++では、「ラベル付きbreak」により、
gotoを使わずに書くことができます。
正)
ちなみにJavaでは、「ラベル付きbreak」により、
gotoを使わずに書くことができます。
C++には「ラベル付きbreak」はありません。
これはかなり罪が重い間違いですね。申し訳ありません。
p.134 下から7行目
誤)
カードのパンチには、「カードパンチャー」という…
正)
カードのパンチは、「カードパンチャー」という…
p.142 下から5行目
誤)
AssertErrorをthrowしますが
正)
AssertionErrorをthrowしますが
p.149 上のPOINTの下
誤)
ところで、ソフトウェア工学に関する古典的に
正)
ところで、ソフトウェア工学に関する古典に
p.198 2行目
誤)
Line polyline_array[LINE_MAX];
正)
Polyline polyline_array[LINE_MAX];
p.223 4行目
誤)
p.220の「ポイント」にある実装隠蔽のメリットのうち…
正)
p.220の「POINT」にある実装隠蔽のメリットのうち…
参照先の表記がPOINTですので。
p.223 下から二つ目のかけ網部分
誤)
public interface Hoge {
public int hoge();
:
}
正)
public interface Hoge {
int hoge();
:
}
このpublicはあってもなくても構いませんが、ない方が推奨されています。
p.254 図6-10
最後のBlockElementだけ、lが筆記体になっています。
p.262 下のかけ網部分
誤)
BlockElement be; double height; height = be.calcHeight();
正)
BlockElement be; double height; // 中略 height = be.calcHeight();
C版では「中略」が入っていますので。
p.267 上から5行目
誤)
正)
ろん「時間」とは処理時間のことであり、「空間」とはメモリ空間のこと
「時間」の方だけカッコで囲むのも変ですし。
p.278 真ん中あたりのかけ網部分
誤)
// カーソルの位置の直後の文字を削除 void backSpace();
正)
// カーソルの位置の直前の文字を削除 void backSpace();
p.293 リスト中の上から5行目
誤)
// カーソルの位置の直後の文字を削除 void backSpace();
正)
// カーソルの位置の直前の文字を削除 void backSpace();
p.278と同じミスがコピペで増殖していました。
p.296 下から2行目, p.297上から2行目
誤)
キーがクリックされた
正)
キーが押された
普通キーは「クリックされた」とは言わないと思いますので。
索引中のいくつかの単語について、ページ番号がずれているようです。
副作用:97ページではなく98ページ
プロシージャ、関数:98ページではなく99ページ