ビャーネ・ストラウストラップ : プログラミング言語 C++ [第4版]

作成日: 2015-09-19
最終更新日:

概要

C++ を一通り学んだ人に対する事典。

感想

分厚くて値段が高い。1 ページあたりの値段は約 7 円なので、きちんと勉強すればもとが取れるだろう (借りて一部を読んだだけでいうのもおこがましいが)。

サンプルコードは断片的だから、実際に動かそうと思うと補間的なドライバーやスタブをうまく書かないと検証できない。 このための補間コードがうまく書ければ中級者から上級者といえる。わたしは初級者なので、うまく書けない。

人名の例

本書の p.413 で、こんなコードがある。
American_Telephone_and_Telegraph::String s3 = "Grieg";
American_Telephone_and_Telegraph::String s4 = "Nielsen";
p.414 では名前空間 Lib が ある使用中のライブラリとして、
Lib::String s5 = "Sibelius";
と記されている。明らかに、この3人は、北欧の作曲家である。すなわち、s3 のグリーグはノルウェー、s4 のニールセンはデンマーク、 s5 のシベリウスはフィンランドの作曲家である。デンマーク出身ということで、北欧の誇りがあるのだろう。

規則

p.1053 に デフォルトでは、パターン比較処理は常に最長一致で探索する(C++ の Max Munch 規則と同様である:§10.3)。 さて、Max Munch 規則とは何か。その前でのことから最長一致のことと考えていいのだろう。念のため、同書の§10.3 を見てみる。 p.266 ではこうある。文法規則が適用される前の段階で、字句上のトークンは、文字の並びとして切り出されて構築される。 このとき、もっとも長い並び文字の並びが、トークンとして切り出される。たとえば、&& は単一の演算子であって 2 個の & 演算子ではない。 また、a+++1 は (a ++) + 1 である。この規則は、最長一致法 ( Max Munch rule ) と呼ばれる。 Wikipedia では、Maximum munch が表題となっている。

誤植

p.438 サンプルコード dc.h の namespace Lexer で定義された class Token_strem の public 領域のコンストラクタ Toekn(istream& s) の初期化リストが ip{&s}, owns(false}, ct{Kind::end} {} となっている。ここの owns は owns{false} が正しいと思われる。

p.537 下から 5 行目、「complex クラスは具象型なで、」とあるが、 これは「complex クラスは具象型なので、」が正しいだろう。

p.566 中央付近、特に、無名共用体 ( anonymous union ) と呼ばれる union を利用していいる とあるが、 文末は「利用している」が正しい。

サポートページ

http://isbn.sbcr.jp/75954/(isbn.sbcr.jp)にある。

書誌情報

書 名プログラミング言語 C++ [第4版]
著 者ビャーネ・ストラウストラップ
訳 者柴田 望洋
発行日2015 年 3 月 7 日
発行元SB クリエイティブ
定 価8800 円(本体)
サイズ??版
ISBN978-4-7973-7595-4
その他南越谷図書館で借りて読む

まりんきょ学問所読んだ本の記録 > ビャーネ・ストラウストラップ : プログラミング言語 C++ [第4版]


MARUYAMA Satosi