この記事では、「C++」を勉強するための参考書をご紹介します。
「C++ 参考書」で検索時の上位10位の意見も取り入れながら、最終的にたどり着いた参考書をご紹介します。
クリックできる目次
自分に合った参考書までスキップ
C++とは?
C++(シープラスプラス)は、汎用プログラミング言語のひとつである。日本語話者の間では「シープラ」又は「シープラプラ」と通称される。派生元であるC言語の機能や特徴を継承しつつ、表現力と効率性の向上のために、手続き型プログラミング・データ抽象・オブジェクト指向プログラミング・ジェネリックプログラミングといった複数のプログラミングパラダイムが組み合わされている[2]。C言語のようにハードウェアを直接扱うような下位層向けの低水準言語としても、複雑なアプリケーションソフトウェアを開発するための上位層向け高水準言語としても使用可能である。アセンブリ言語以外の低水準言語を必要としないこと、使わない機能に時間的・空間的コストを必要としないことが、言語設計の重要な原則となっている[3][4]。
引用元:Wikipedia-(C++)
プログラミング初心者にオススメの参考書ランキング
まず、PHPでプログラミングを学び始めるぞという方は、プログラムとは?という解説がある参考書を一冊読むべきだと思います。
一冊でいいので、ランキング形式で、オススメの参考書3つご紹介します。
第1位:プログラミング初心者は、この参考書一択!
やさしい
C++
第5版
この参考書について
どんな参考書?
プログラミング初心者がC++を学びあ始めるならこの参考書一択でしょう。
本書は、基本的な、プログラミングの基本的な知識から、C++基本的な構文を丁寧に解説されています。基本的な構文をメインで解説されているため、応用的な構文はあまり書かれていません。
まずは、プログラミングきっかけとしてC++を学んでみたいという方に1冊目としてオススメの参考書ですね。
どんな人におすすめ?
- プログラミング初心者の方
- まずは基本的な構文を理解したい方
- 他の参考書で挫折した方
何を学べる?
C++の基本的な構文に重点を置いてしっかりと学べます。
評価
目次
Lesson2 C++の基本
Lesson3 変数
Lesson4 式と演算子
Lesson5 場合に応じた処理
Lesson6 何度も繰り返す
Lesson7 関数
Lesson8 ポインタ
Lesson9 配列
Lesson10 大規模なプログラムの作成
Lesson11 いろいろな型
Lesson12 クラスの基本
Lesson13 クラスの機能
Lesson14 新しいクラス
Lesson15 クラスに関する高度なトピック
Lesson16 ファイルの入出力
AppendixA 練習の解答
詳細を見る
第2位:しっかりと学びたい方なら
新・明解
C++
入門編
この参考書について
どんな参考書?
本書は、先ほどのやさしいC++と比べてしっかりと学びたい方向け知識ゼロのかたの参考書です。
基本的な文法から応用的な文法まで網羅された参考書で、一つ一つ深く解説されています。そのため、ページ数は500ページほどです。
一番最適な学び方は、やさしいC++である程度基本的な概念を学び、そこから本書で深く学ぶという学び方です。
どんな人におすすめ?
- プログラミング初心者
- しっかりと学びたい方
- 勉強が好きな方
何を学べる?
基本的な文法から、応用的な文法まで網羅的に学べます。
評価
目次
プログラムの流れの分岐
プログラムの流れの繰返し
基本的なデータ型
配列
関数の基本
ポインタ
文字列とポインタ
関数の応用
クラスの基本
単純なクラスの作成
変換関数と演算子関数
静的メンバ
配列クラスで学ぶクラスの設計
詳細を見る
第3位:さくっとしっかり学ぶなら
スラスラわかる
C++
第2版
この参考書について
どんな参考書?
本書は、プログラミング知識ゼロの方できも安心して学べる参考書です。基本構文や関数、分岐と繰り返しから始まり、クラスエラー処理をしっかりと学べます。
また、プログラミング知識ゼロの方に向けての参考書なので、解説の際に専門用語をあまり使わずに解説しています。
どんな人におすすめ?
- プログラミング初心者の方
- 他の参考書で挫折してしまった方
- 基本をさくっと学びたい方
何を学べる?
基本的をしっかりとさくっと学べます。
評価
目次
第2章 役に立つプログラムを作る(C++の基本構文)
第3章 条件に応じた分岐と繰り返し
第4章 プログラムを関数で部品化する
第5章 プログラムをクラスで部品化する
第6章 クラスがあるから表現できること
第7章 オーバーライドとオーバーロード
第8章 コピーコンストラクタと代入演算子のオーバーロード
第9章 エラー処理とファイル処理
第10章 テンプレートとSTL
詳細を見る
プログラミング経験者にオススメの参考書3選
ここでは、プログラミング経験者がC++を学び始める方向けの参考書をご紹介します。
C言語を学んでいたなら
C++
の絵本第2版
C++が好きになる新しい9つの扉
この参考書について
どんな参考書?
少しでも、C言語を触っていたなら、こちらの参考書をオススメします。
本書は、C言語を習得している前提で、解説されています。
イラストが多く、わかりやすい丁寧な解説なので、C言語を知っている方なら、素早くC言語と関連付けながら、学ぶことができます。
ただ、C++の応用的な文法(型推論auto、foreach文、ラムダ式な)は余り触れられていませんので、応用的な文法も学びたいなら、次に紹介する参考書をオススメします。
どんな人におすすめ?
- C言語を学んだことがある方
- C++をさくっと学びたい方
何を学べる?
C言語と紐付けながらC++を学ぶことができます。
評価
目次
第1章 C++の基本
第2章 C++プログラムの書き方
第3章 C++の機能
第4章 参照
第5章 クラスの構築
第6章 クラスの継承
第7章 オブジェクトとメンバ
第8章 C++上級編
付録
詳細を見る
C++の参考書と言えばこの参考書
ロベールの
C++
入門講座
この参考書について
どんな参考書?
C++の参考書と言えば、この参考書でしょう。というくらいとても有名な参考書です。
本書は、C++を多少学んだことがある方にオススメの参考書です。
内容は基本的な文法から応用的な文法、ライブラリの使い方までしっかりと網羅されており、この参考書一冊で、初心者から中級者に慣れます。
とても網羅性が高いので、正直、たくさんの参考書を買うより、この参考書を一冊を買った方がいいですね。
どんな人におすすめ?
- C++を少し学んだことがある方
- 参考書を一冊で済ませたい方
- とりあえずC++の参考書が欲しい方
何を学べる?
基本的な文法から、応用的な文法まで学べます。
評価
目次
Chapter 02 C++の基本
Chapter 03 ほんの少し深く
Chapter 04 ポインタ天国
Chapter 05 クラスの前に
Chapter 06 クラスの基礎
Chapter 07 クラスの本領
Chapter 08 ファイルとストリーム
Chapter 09 テンプレート
Chapter 10 エラー処理と例外
Chapter 11 もっと高く
Chapter 12 もっともっと高く
Chapter 13 もっと深く
Chapter 14 もっともっと深く
Chapter 15 データ構造
Chapter 16 C++の落ち穂拾い
付 録
付録A 標準ヘッダファイル一覧
付録B 演算子一覧
付録C C言語とC++の重要な相違点
付録D Boostライブラリ
付録E 参考文献
詳細を見る
体系的に学びたい方なら
独習
C++
新版
この参考書について
どんな参考書?
本書、独習シリーズは、解説、例題、練習問題という3ステップでしっかり学習できる参考書です。
僕もこの独習シリーズは何冊も持っています。練習問題があるので、自分がどの部分が得意で、どの部分が苦手なのかを確認できます。
ただ、本当に入門の方は少し厳しいかもしれませんので、C++を少し学んだことある方にオススメします。
というのも、基本的なことは割とサラッと触れられる程度だからです。
どんな人におすすめ?
- 自分のレベルを知りたい方
- しっかりと学びたい方
- 体系的に学びたい方
何を学べる?
しっかりと体系的に学べる参考書です。
評価
目次
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 正規表現
この章の理解度チェック
詳細を見る
中級者にオススメの参考書3選
プログラムをただ書くだけではなく、安全性や保守性を考えたいなら
Effective C++
この参考書について
どんな参考書?
C++の中級者向けの参考書で最も評価が高く、C++をより深く学ぶには、最適な参考書です。
本書は、基本的な知識がないと読めない参考書です。逆に言えば、基本的な知識以上のことだけを学べるので、この参考書一冊で中級者から一歩踏み出瀬ます。
内容は、C++を使いこなす方法です。どのようにコーディングすれば、安全で保守性のあるプログラムをかけるかというのを丁寧に解説されています。
どんな人におすすめ?
- 基本はマスターした方
- 仕事でC++を使う方
- 中級者から上級者になりたい方
何を学べる?
保守性を考えたプログラムなど、C++を使いこなす方法を学べます。
評価
目次
第2章 コンストラクタ、デストラクタ、コピー代入演算子
第3章 リソース管理
第4章 デザインと宣言
第5章 実装
第6章 継承とオブジェクト指向設計
第7章 テンプレートとジェネリックプログラミング
第8章 newとdeleteのカスタマイズ
第9章 いろいろな事
付録A Effective C++を超えて
付録B 第2版と第3版の対応表
詳細を見る
やりたいことから探す参考書なら
[改訂第3版]
C++
ポケットリファレンス
この参考書について
どんな参考書?
本書は、自分のやりたいことから探す参考書です。
C++で数すくないリファレンス本なので、これからC++を使っていく方は、持っておくべき参考書です。
自分で何かを作っている方にはかなりオススメです。
どんな人におすすめ?
- 自分で何かを作っている方
- 逆引き本を探してる方
何を学べる?
自分のしたいことがさくっと実装できます。
評価
目次
謝辞
本書の構成
本書の使い方
■CHAPTER 1 C++とは
■CHAPTER 2 基本文法
■CHAPTER 3 エラーハンドリング
■CHAPTER 4 文字列
■CHAPTER 5 入出力
■CHAPTER 6 ユーティリティ
■CHAPTER 7 コンテナとアルゴリズム
■CHAPTER 8 スレッド
■APPENDIX 付録A ライブラリ
■APPENDIX 付録B 言語拡張
■APPENDIX 付録C 開発環境
参考文献・URL
索引
詳細を見る
ゲーム好きならこの参考書一択!
ゲームプログラミング
C++
この参考書について
どんな参考書?
ゲーム開発者になりたい方は、こちらの参考書は必読でしょう。
先に言っておきますが、本書は、プログラミング初心者向けではありません。なぜなら環境構築や基本的なことは一切触れられていないからです。
C++初心者が、この参考書を買ってやろうと思ってもかなり厳しいと思います。
上記で紹介したような参考書と一緒に買うのがオススメです。
どんな人におすすめ?
- ゲーム開発者になりたい方
- ガッツリプログラミングしてみたい方
- ある程度、基本を覚えた方
何を学べる?
ガッツリゲームプログラミングが学べます。
評価
目次
Chapter 2 ゲームオブジェクトと2Dグラフィックス
Chapter 3 ベクトルと基礎の物理
Chapter 4 人工知能(AI)
Chapter 5 OpenGL
Chapter 6 3Dグラフィックス
Chapter 7 オーディオ
Chapter 8 入力システム
Chapter 9 カメラ
Chapter 10 衝突検知
Chapter 11 ユーザーインターフェイス(UI)
Chapter 12 スケルタル(骨格)アニメーション
Chapter 13 中級グラフィックス
Chapter 14 レベルファイルとバイナリデータ
付録A 中級C++の復習
詳細を見る
上級者にオススメの参考書1選
modernC++にチャレンジしたい方なら
Effective
Modern C++
この参考書について
どんな参考書?
上級者しか理解できない、難しい参考書です。
本書の内容は、C++11/C++14でのコードの書き方のテクニックについてです。
型推論やスマートポインタ、ムーブセマンティクス、ラムダ式など現代的なC++が学べます。
どんな人におすすめ?
- 上級者
- 現代的なC++を学びたい方
- C++のテクニックを学びたい方
何を学べる?
型推論やスマートポインタ、ムーブセマンティクス、ラムダ式など現代的なC++が学べます。
評価
目次
1章 型推論
項目1:テンプレートの型推論を理解する
項目2:autoの型推論を理解する
項目3:decltypeを理解する
項目4:推論された型を確認する
2章 auto
項目5:明示的型宣言よりもautoを優先する
項目6:autoが期待とは異なる型を推論する場面ではETIIを用いる
3章 現代のC++への移行
項目7:オブジェクト作成時の()と{}の違い
項目8:0やNULLよりもnullptrを優先する
項目9:typedefよりもエイリアス宣言を優先する
項目10:enumにはスコープを設ける
項目11:privateな未定義関数よりもdeleteを優先する
項目12:オーバライドする関数はoverrideと宣言する
項目13:iteratorよりもconst_iteratorを優先する
項目14:例外を発生させない関数はnoexceptと宣言する
項目15:可能な場面では常にconstexprを用いる
項目16:constメンバ関数はスレッドセーフにする
項目17:自動的に生成される特殊メンバ関数を理解する
4章 スマートポインタ
項目18:独占するリソースの管理にはstd::unique_ptrを用いる
項目19:共有するリソースの管理にはstd::shared_ptrを用いる
項目20:不正ポインタになり得るstd::shared_ptrライクなポインタにはstd::weak_ptrを用いる
項目21:newの直接使用よりもstd::make_uniqueやstd::make_sharedを優先する
項目22:Pimplイディオムを用いる際は特殊メンバ関数を定義する
5章 右辺値参照、ムーブセマンティクス、完全転送
項目23:std::moveとstd::forwardを理解する
項目24:ユニヴァーサル参照と右辺値参照の違い
項目25:右辺値参照にはstd::moveを、ユニヴァーサル参照にはstd::forwardを用いる
項目26:ユニヴァーサル参照をとるオーバロードは避ける
項目27:ユニヴァーサル参照をとるオーバロードの代替策を把握する
項目28:参照の圧縮を理解する
項目29:ムーブ演算は存在しない、コスト安でもない、使用もされないと想定する
項目30:完全転送できない場面を把握する
6章 ラムダ式
7章 並行API
8章 もう一ひねり
査読者あと書き 索引
詳細を見る
Amazonでお得に買う方法
Amazonの賢い買い方をご紹介します。
Amazonのギフト券で買うと商品を安く買えます。現金でチャージした金額 x 最大2.5%分のポイントがもらえます。
一回のチャージ額 | 通常会員 | プライム会員 |
---|---|---|
5000〜19,999円 | 0.5% | 1.0% |
20,000円〜39,999円 | 1.0% | 1.5% |
40,000円〜89,999円 | 1.5% | 2.0% |
90,000円〜 | 2.0% | 2.5% |
Amazonプライム会員の方だったら、使わなきゃ損ですね。
Amazonプライムなら、kindleで無料で読める参考書も結構あります!
今なら、Amazonチャージ初回購入で1000ポイントもらえるキャンペーンもあります。
簡単登録!
Amazonチャージ初回購入で、1000ポイントキャンペーンはこちら
まとめ
コメントを残す
コメントを投稿するにはログインしてください。