ビャーネ・ストラウストラップ : プログラミング言語 C++ [第4版] |
作成日: 2015-09-19 最終更新日: |
C++ を一通り学んだ人に対する事典。
分厚くて値段が高い。1 ページあたりの値段は約 7 円なので、きちんと勉強すればもとが取れるだろう (借りて一部を読んだだけでいうのもおこがましいが)。
サンプルコードは断片的だから、実際に動かそうと思うと補間的なドライバーやスタブをうまく書かないと検証できない。 このための補間コードがうまく書ければ中級者から上級者といえる。わたしは初級者なので、うまく書けない。
本書の p.413 で、こんなコードがある。
American_Telephone_and_Telegraph::String s3 = "Grieg";
p.414 では名前空間 Lib が ある使用中のライブラリとして、
American_Telephone_and_Telegraph::String s4 = "Nielsen";
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 円(本体) |
サイズ | ??版 |
ISBN | 978-4-7973-7595-4 |
その他 | 南越谷図書館で借りて読む |
まりんきょ学問所 > 読んだ本の記録 > ビャーネ・ストラウストラップ : プログラミング言語 C++ [第4版]