目次 序文 第 0 章 さあ、はじめよう コメント 0.2 #include . 0.3 malll 中力ッコ 0.5 出力に標準ライプラリを使う return ステートメント 0.6 0.7 少しだけ深く 詳細 . 0.8 -1 1 ~ つ」っ」っイ 1 り -9 一 1 亠イ 4 -11 11 string を使う 第 1 章 1.1 入力 . 1.2 名前にフレームをつける 第細 . 1.3 ループとカウント 第 2 章 2.1 2.2 全体の構造 2.3 あらかじめ行数のわからない行を書く 行の出力 2.4 フレームを描くプログラムの完成 2.5 カウント 2.6 細 . 一三ロ 1 上 1 亠 11 -11 っ 4 ワ 1 っ 4 日 一三ロ たくさんのデータを扱う 第 3 章 3.1 学生の成績をつける 平均ではなくメジアンを使う 3.2 羊細 . 3.3 一三ロ
第 4 章 プログラムとデータの構成 計算方法を構成する 4.1 4.2 データの構成 4.3 みんなまとめて . 4.4 成績処理プログラムの分割 . 4.5 成績処理プログラム改訂版 . 4.6 詳細 . シーケンシャルコンテナと stri ng の解析 学生をカテゴリに分類する 5.2 反復子 インデックスの代わりに反復子を使う 5.3 効率をよくするためにデータ構造を再検討する 5.4 list 型 . 5.5 string オプジェクトを分ける 5.6 split 関数をテストする 5.7 string オプジェクトをまとめる 5.8 5.9 詳細 . 第 6 章 ライブラリのアルゴリズムを使う string の解析 6.2 成績処理の仕組みを比べる . 6.3 学生の分類改訂版 アルゴリズム、コンテナ、反復子 6.4 詳細 . 6.5 第 7 章 連想コンテナを使う 効率的な探索ができるコンテナ 7.2 単語を数える 対照表を作る 7.3 7.4 文を作る 効率に関する注意 7.5 詳細 . 7.6 第 8 章 ジェネリック関数を書く ジェネリック関数とは何か 8.2 データ構造非依存性 8.3 入力反復子と出力反復子 . 8.4 柔軟性のための反復子 羊細 . 8.5 第 5 章 L.n 1 りワ 1 4 ・ 4 ー【い一 11 ′り 101 101 110 116 119 120 123 123 124 126 129 136 136 139 139 143 150 151 152 三一口
V11 155 155 156 159 . 163 163 166 167 新しい型を定義する 第 9 章 をもう 1 度 . Student-info クラス型 9.2 9.3 データ保護 Student-info クラス 9.4 コンストラクタ クラスを使う 9.6 Student-info 9.7 詳細 . メモリ管理と低レベルのデータ構造 第 10 章 ポインタと配列 . 10.1 文字列リテラル再論 10.2 文字ポインタ配列の初期化 . 10.3 main の引数 10.4 ファイルの読み書き 10.5 3 種類のメモリ管理 10.6 川 .7 169 169 176 177 . 179 . 180 182 185 詳細 . 抽象データ型を定義する 第 11 章 Vec クラス 11.1 vec クラスの実装 11.2 コピー管理 11.3 動的な vec 11.4 柔軟なメモリ管理 11.5 細 . 11.6 値のように振る舞うクラスオブジェクト 第 12 章 単純な文字列のクラス 12.1 自動の変換 12.2 Str の演算子 12.3 変換が危険な場合 12.4 型変換演算子 . 12.5 型変換とメモリ管理 12.6 詳細 . 12.7 継承と動的結合を使う 第 13 章 継承 . 13.1 多態性 ( ポリモルフィズム ) と仮想関数 . 13.2 問題解決に継承を使う 13.3 簡単なハンドルクラス 13.4 187 . 187 . 188 194 . 201 . 202 . 208 三一口 211 . 211 . 213 . 214 . 220 . 221 . 223 . 224 227 . 227 . 232 . 237 . 243
VIII ハンドルクラスを使う 微妙な点 詳細 . 第 14 章 メモリを ( ほとんど ) 自動で管理する オプジェクトをコピーするハンドル 14.1 参照カウント付きハンドル . 14.2 データを共有するかどうかを決められるハンドル 14.3 コピーカゞコン トロール可能なハンドルの改良 14.4 細 . 14.5 第 15 章 文字絵をもう 1 度 デザイン 15.1 実装 . 15.2 15.3 第 16 章 ここからどこへ行くかフ 手にした抽象を使おう 16.1 もっと学ばう 16.2 付録 A ロ語の詳細 A. 1 型 A. 2 工クスプレッション A. 3 A. 4 ステートメント 付録 B ライブラリのまとめ B. 1 入出力 コンテナと反復子 B. 2 アルゴリズム B. 3 訳者後書き 索引 13.5 13.6 13.7 . 247 . 248 250 253 . 253 . 260 . 263 . 265 . 268 一三ロ 269 269 . 277 . 287 一三ロ 289 . 289 . 291 293 . 293 . 298 . 303 . 306 309 . 309 312 . 320 325 326
本書の内容に関するご質問は、小社出版部宛まで必ず 書面にてお送りください。電話による内容のお問い合 わせはご容赦ください。また本書の範囲を超えるご質 問につきましてはお答えできかねる場合もありますの で、あらかじめご承知おきください。 C + + 旧 Depth Series AcceIerated C + + アンドリュー・コーニグ / バーノヾラ・ E ・ムー 効率的なプログラミングのための新しい定跡 2001 年 12 月 20 日 2009 年 9 月 30 日 ・印刷十製本 ・発行所 ー発行人 ・訳者 ー著者 初版第 1 刷発行 初版第 8 刷発行 . 小林健一郎 プレンダン・デラハンティ 株式会社ピアソン・エデュケーション 〒 166-0003 出版営業部 三美印刷株式会社 東京都杉並区高円寺南 2-44-5 電話 ( 03 ) 5929 ー 6050 FAX ( 03 ) 3 引 4 ー 8169 http : //www.pej -hed. j p 本書の内容を、いかなる方法においても無断で複写、転載することは禁じられています。 Translation copyright ◎ 2001 by PEARSON EDUCATION JAPAN Original English language title: Accelerated C + + : Practical Programming by Example, First Edition by Andrew Koenig and Barbara E. M00. Copyright ◎ 2000 by AT&T,Inc. , and Andrew Koenig and Barbara E. M00 AII Rights Reserved. PubIished by arrangement with the original publisher, ADDISON WESLEY LONGMAN,a pearson Education Company ・ れに d ⅲ Japan ISBN 4-89471-422-1