対象書籍
C++言語のカラクリ ■第1刷
p. 15 2行目
誤: ……C言語のソースコードに変換するインタープリタを……
正: ……C言語のソースコードに解釈/実行するインタープリタを……
誤: ……C言語のソースコードに変換するインタープリタを……
正: ……C言語のソースコードに解釈/実行するインタープリタを……
p. 30 List 3-2の6行目
誤: Global::Global(int n) * n_(n) {
正: Global::Global(int n) : n_(n) {
誤: Global::Global(int n) * n_(n) {
正: Global::Global(int n) : n_(n) {
p. 46 4行目
誤: return (int )0 ;
正: この1行は不要。削除
誤: return (int )0 ;
正: この1行は不要。削除
p. 60 13行目
誤:
誤:
……(((((struct Base *)_au0__Xthis__ctor_Derived ))))) ) ), ((struct Base *)_au0__Xthis__ctor_Derived ))) , ((_au0__Xthis__ctor_Derived ))) ) ) ;
正:
……(((((struct Base *)_au0__Xthis__ctor_Derived ))))) ) ), (_au0__Xthis__ctor_Derived -> _Base__vptr = Derived__vtbl)) , ((_au0__Xthis__ctor_Derived ))) ) ) ;
p. 66 下から5行目
誤: entern “C” print(int,int);
正: entern “C” void print(int,int);
誤: entern “C” print(int,int);
正: entern “C” void print(int,int);
p. 69 3行目
誤: Motherクラスのなかのメンバiを呼び出そうとすると、……
正: Motherクラスのなかのメンバを参照しようとすると、……
誤: Motherクラスのなかのメンバiを呼び出そうとすると、……
正: Motherクラスのなかのメンバを参照しようとすると、……
p. 73 4行目
誤: ……どちらからキャストするのは判断できませんし……
正: ……どちらからキャストするのかは判断できませんし……
誤: ……どちらからキャストするのは判断できませんし……
正: ……どちらからキャストするのかは判断できませんし……
p. 75 6行目
誤: 正しくコンパイルできるList4-8のコードから……
正: List4-8にあるd*へのキャスト (d*)ap を dynamic_cast<d*>(ap) に差し替えた正しくコンパイルできるコードから
誤: 正しくコンパイルできるList4-8のコードから……
正: List4-8にあるd*へのキャスト (d*)ap を dynamic_cast<d*>(ap) に差し替えた正しくコンパイルできるコードから
p. 75 List 4-9の1行目
誤: class a { public: virtual ~a() {} };
正: class a {};
誤: class a { public: virtual ~a() {} };
正: class a {};
p. 76 下から4行目
誤: ところがJavaやC#ではすべてのオブジェクトはObjectから導出されるので、ダイヤモンド継承にならざるをえません。
正: ところがJavaやC#ではすべてのオブジェクトはObjectから導出されるので、多重継承を実現しようとすればダイヤモンド継承にならざるをえません。
誤: ところがJavaやC#ではすべてのオブジェクトはObjectから導出されるので、ダイヤモンド継承にならざるをえません。
正: ところがJavaやC#ではすべてのオブジェクトはObjectから導出されるので、多重継承を実現しようとすればダイヤモンド継承にならざるをえません。
p. 82 List 5-2の下から4行目
誤: Stack::Stack() : capacity_(n), size_(0) {
正: Stack::Stack(int n) : capacity_(n), size_(0) {
誤: Stack::Stack() : capacity_(n), size_(0) {
正: Stack::Stack(int n) : capacity_(n), size_(0) {
p. 85 5行目
誤: Stack(int) stk;
正: Stack(int) stk(10);
誤: Stack(int) stk;
正: Stack(int) stk(10);
p. 85 6行目
誤: for ( int i = 0; i < 5; ++i ) { stk.push(i); }
正: for ( int i = 0; i < 10; ++i ) { stk.push(i); }
誤: for ( int i = 0; i < 5; ++i ) { stk.push(i); }
正: for ( int i = 0; i < 10; ++i ) { stk.push(i); }
p. 85 下から8行目
誤: ……用意してくれているvector.hのなかに……
正: ……用意してくれているgeneric.hのなかに……
誤: ……用意してくれているvector.hのなかに……
正: ……用意してくれているgeneric.hのなかに……
p. 86 3行目
誤: ……スタックに5回pushしています。
正: ……スタックに10回pushしています。
誤: ……スタックに5回pushしています。
正: ……スタックに10回pushしています。
p. 86 4行目
誤: for ( int i = 0; i < 5; ++i ) { stk.push(i); }
正: for ( int i = 0; i < 10; ++i ) { stk.push(i); }
誤: for ( int i = 0; i < 5; ++i ) { stk.push(i); }
正: for ( int i = 0; i < 10; ++i ) { stk.push(i); }
p. 87 下から6行目
誤: for ( int i = 0; i < 5; ++i ) { stk.push(i); }
正: for ( int i = 0; i < 10; ++i ) { stk.push(i); }
誤: for ( int i = 0; i < 5; ++i ) { stk.push(i); }
正: for ( int i = 0; i < 10; ++i ) { stk.push(i); }
p. 98 10行目
誤: ……宣言文にexternと書けば……
正: ……宣言文にexportと書けば……
誤: ……宣言文にexternと書けば……
正: ……宣言文にexportと書けば……
p. 98 16行目
誤: ……付けるexternはサポートしなくても……
正: ……付けるexportはサポートしなくても……
誤: ……付けるexternはサポートしなくても……
正: ……付けるexportはサポートしなくても……
p. 98 19行目
誤: 「実際にexternを使って……
正: 「実際にexportを使って……
誤: 「実際にexternを使って……
正: 「実際にexportを使って……
p. 98 25行目
誤: 「externはサポートしなくていいや」……
正: 「exportはサポートしなくていいや」……
誤: 「externはサポートしなくていいや」……
正: 「exportはサポートしなくていいや」……
p. 159 7行目
誤: ……なぜ言語の使用のレベルダウンまで……
正: ……なぜ言語の仕様のレベルダウンまで……
誤: ……なぜ言語の使用のレベルダウンまで……
正: ……なぜ言語の仕様のレベルダウンまで……