高橋 航平 著
επιστημη(エピステーメー) 監修
システム開発者、ゲームプログラマーをはじめ、
すべてのC++学習者、待望の解説書。
boostコミッターの著者により、
旧版の特徴である「扱う内容の深さは」そのままに、
より自然でわかりやすい解説に完全リニューアルしました。
言語仕様の初歩から標準ライブラリの基礎まで、
より丁寧で、より詳しい解説となった一冊です。
===目次===
- 第1章 C++の基本的な言語機能(1)
- 第2章 C++の基本的な言語機能(2)
- 第3章 クラス
- 第4章 分割コンパイル、ビルド
- 第5章 配列、ポインター、右辺値参照
- 第6章 演算子オーバーロード
- 第7章 継承
- 第8章 入出力システム
- 第9章 テンプレート
- 第10章 例外処理
- 第11章 実行時型情報とキャスト演算子
- 第12章 データ構造とアルゴリズム
- 第13章 文字列処理
C++のコア言語を中心とした基礎的な知識・概念・機能を、さまざまなサンプルプログラムを例示しながら詳細かつ丁寧に解説します。
学習する内容について、具体的な操作例やサンプルプログラム、実行結果などを示しています。実際に手を動かして、確認しながら学習を深めることができます。
各節末にある【練習問題】、章末にある【理解度チェック】で、学んだ事項を理解できたか確認できます。
第1章 C++の基本的な言語機能(1)
1.1 Hello, world
1.2 変数と関数
1.3 演算子
1.4 条件分岐
1.5 組み込み型とポインター
1.6 配列と文字列
1.7 繰り返し
この章の理解度チェック
第2章 C++の基本的な言語機能(2)
2.1 構造体・共用体・列挙体
2.2 クラス概要
2.3 参照
2.4 型推論
2.5 型の別名定義
2.6 コンソールからの入力
2.7 関数オーバーロード
2.8 ラムダ式
この章の理解度チェック
第3章 クラス
3.1 constメンバー関数とmutable
3.2 コンストラクターとデストラクター
3.3 初期値を受け取るコンストラクター
3.4 デフォルトの初期値
3.5 継承の概要
3.6 オブジェクトポインター
3.7 クラス、構造体、共用体の関係性
3.8 フレンド関数の概要
3.9 staticクラスメンバー
この章の理解度チェック
第4章 分割コンパイル、ビルド
4.1 識別子とC++のキーワード
4.2 宣言と定義
4.3 スコープ
4.4 初期化構文付き条件分岐
4.5 分割コンパイル
4.6 インライン関数
4.7 名前空間
4.8 リンケージ
4.9 プリプロセッサー
この章の理解度チェック
第5章 配列、ポインター、右辺値参照
5.1 配列とポインター
5.2 オブジェクトの配列
5.3 newとdeleteの使用
5.4 newとdeleteの詳細
5.5 {}による初期化とstd::initializer_list
5.6 参照渡し
5.7 参照を返す関数
5.8 右辺値参照
5.9 関数ポインターと関数リファレンス
5.10 thisのキャプチャ
5.11 関数ポインターに変換可能なラムダ式
この章の理解度チェック
第6章 演算子オーバーロード
6.1 演算子オーバーロードの基本
6.2 算術演算子のオーバーロード
6.3 項数の異なる算術演算子のオーバーロード
6.4 ビット演算子のオーバーロード
6.5 関係演算子と論理演算子のオーバーロード
6.6 添字演算子のオーバーロード
6.7 ポインター関連演算子のオーバーロード
6.8 関数呼び出し演算子のオーバーロード
6.9 フレンドな演算子オーバーロード
6.10 代入演算子の詳細
6.11 変換関数の作成方法
この章の理解度チェック
第7章 継承
7.1 アクセス制御
7.2 継承時のコンストラクター/デストラクターの動作
7.3 派生クラスへのポインター
7.4 仮想関数の詳細
7.5 多重継承
7.6 仮想基底クラス
7.7 派生、オーバーライドの抑止
この章の理解度チェック
第8章 入出力システム
8.1 C++の入出力の基礎
8.2 書式設定された出力
8.3 その他のテキスト入出力関数
8.4 入出力マニピュレーターの使用
8.5 ファイル入出力の基本
8.6 書式不定のバイナリ入出力
8.7 ランダムアクセス
8.8 入出力状態のチェック
この章の理解度チェック
第9章 テンプレート
9.1 関数テンプレート
9.2 クラステンプレート
9.3 仮想関数とstaticメンバー
9.4 特殊化
9.5 型推論
9.6 非型テンプレートパラメーター
9.7 参照の推論と完全転送
9.8 依存名
9.9 可変引数テンプレート
9.10 型特性
9.11 ラムダ式の引数の型推論
9.12 クラステンプレートのテンプレートパラメーターの型推論
この章の理解度チェック
第10章 例外処理
10.1 例外処理の基礎
10.2 例外処理の詳細
10.3 new演算子の例外処理
10.4 標準例外
この章の理解度チェック
第11章 実行時型情報とキャスト演算子
11.1 実行時型情報(RTTI)
11.2 キャスト演算子
11.3 dynamic_castの利用
この章の理解度チェック
第12章 データ構造とアルゴリズム
12.1 コンテナクラス
12.2 std::vector
12.3 std::list
12.4 タプル
12.5 std::setとstd::map
12.6 アルゴリズム
この章の理解度チェック
第13章 文字列処理
13.1 文字列処理の概要
13.2 文字コード
13.3 文字列操作
13.4 数値・文字列間の変換
13.5 正規表現
この章の理解度チェック
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 006 [構文]複数変数の同時宣言 |
2刷 | 済 |
|
2019.11.26 | ||||||
1刷 | 015 練習問題1.2 1.の問題文のコード 下から2行目 |
2刷 | 済 |
|
2020.06.19 | ||||||
1刷 | 035 練習問題1.4 2.の問題文 |
3刷 | 済 |
|
2020.11.27 | ||||||
1刷 | 080 練習問題2.1 3.のコード 下から3行目 |
2刷 | 済 |
|
2020.01.21 | ||||||
1刷 | 082 [構文]クラスメンバーのアクセス指定子:1行目 |
2刷 | 済 |
|
2019.11.26 | ||||||
1刷 | 096 練習問題2.4の2のプログラム 下から3行目 |
5刷 | 済 |
|
2023.10.13 | ||||||
1刷 | 099 リスト2.13 ネストした型名 8行目 |
4刷 | 済 |
|
2022.03.03 | ||||||
1刷 | 129 リスト3.3 |
4刷 | 済 |
|
2022.06.28 | ||||||
1刷 | 143 実行結果 |
2刷 | 済 |
|
2020.01.28 | ||||||
1刷 | 151 構文「メンバー変数のデフォルト値」とその下の文章 |
5刷 | 済 |
|
2022.06.22 | ||||||
1刷 | 158 リスト3.13の実行結果の2行目 |
2刷 | 済 |
|
2020.04.28 | ||||||
1刷 | 174 リスト3.20 Aのコンストラクター定義内 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 174 リスト3.20 get_iメンバー関数の定義 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 175 実行結果 |
2刷 | 済 |
|
2020.10.02 | ||||||
1刷 | 226 「using宣言」下から2行目 |
5刷 | 済 |
|
2023.08.28 | ||||||
1刷 | 243 リスト4.26および続く解説文 |
2刷 | 済 |
|
2019.11.26 | ||||||
1刷 | 266 実行結果 |
2刷 | 済 |
|
2020.10.02 | ||||||
1刷 | 269 リスト5.13 Objectクラスの宣言 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 273 リスト5.15 キャプション |
2刷 | 済 |
|
2019.11.25 | ||||||
1刷 | 274 リスト5.15 コンストラクター定義 |
2刷 | 済 |
|
2019.11.25 | ||||||
1刷 | 287 リスト5.24 上から13行目 |
未 | 未 |
|
2024.03.15 | ||||||
1刷 | 316 リスト6.5 下から3行目 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 317 リスト6.6 operator==関数の定義内 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 320 リスト6.7 7行目 |
3刷 | 済 |
|
2020.11.27 | ||||||
1刷 | 333 リスト6.14 2つ目のoperator-()関数の定義 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 339 リスト6.17 冒頭 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 342 リスト6.18 main()関数内 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 354 リスト7.3 7行目 |
2刷 | 済 |
|
2020.05.11 | ||||||
1刷 | 373 リスト7.14内 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 397 リスト8.7の実行結果 |
5刷 | 済 |
|
2023.08.28 | ||||||
1刷 | 397 リスト8.7 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 399 リスト8.9 冒頭 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 401 リスト8.10 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 417 リスト9.2の実行結果 1行目 |
5刷 | 済 |
|
2023.08.28 | ||||||
1刷 | 426 リスト9.7 一番下 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 432 リスト9.10 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 438 リスト9.14 fused_multiply_add関数内 |
2刷 | 済 |
|
2019.11.05 | ||||||
1刷 | 492 note1行目 |
5刷 | 済 |
|
2023.08.28 | ||||||
1刷 | 536 練習問題12.2 「3」の問題文 |
未 | 未 |
|
2024.03.12 | ||||||
1刷 | dl-026 121ページの「この章の理解度チエック」の4の回答 「リストApp2.17」の7行目 |
未 | 未 |
|
2024.01.22 | ||||||
2刷 | 244 リスト4.26の実行結果 |
3刷 | 済 |
|
2021.09.28 | ||||||
2刷 | 274 リスト5.15 11行目 |
5刷 | 済 |
|
2022.06.07 | ||||||
2刷 | 397 リスト8.7 上から8行目 |
5刷 | 済 |
|
2023.08.28 | ||||||
2刷 | 401 リスト8.10 下から4行目 |
5刷 | 済 |
|
2023.08.28 |
ryo さん
2021-01-21
c++17規格に対応した独習シリーズの一つ。基本的な文法からクラスやテンプレートなどc++の標準的な知識が抑えてある。会社の研修で使用。研究室でのコーディングでは意識しなかった保守性や信頼性の観点のもと、クラスの使い方に馴染む必要があった。その目的はある程度満たすことができたように思う。演習の答えはネット上にアップされており、まさに独習するのに不便はない。演習は項目ごとに絞っているので解きやすさはある反面、体系的な知識を駆使して一定の成果物を完成させるにはまた別の訓練が必要。入口としては良書と言える。