Plan
Roadmap
- 演算子(C++)
- ポインタ(C++)
- クラス(C++)
- char型
- コンテナ(C++)
- 配列(C++)
- 文字列(C++)
- string_view
- 例外処理(C++)
- 文字列と数値間の変換(C++)
- (高速な文字列と数値間の変換(C++))
- 連想配列(C++)
- 静的ライブラリと動的ライブラリ(C++)
- 外部ライブラリの導入と管理
- 構造化束縛(C++)
- タプル(C++)
- 可変引数テンプレート
- クラスのファイル分割
- テンプレートのファイル分割
- 浮動小数点数型(C++)
- 無名名前空間(C++)
- using宣言(C++)
- 左辺値参照(C++)
- const左辺値参照
- 継承に対するアクセス指定子(C++)
Notes
- 開発環境構築
- ビルド(C++)
- 分割コンパイル(C++)
- 翻訳単位
- 単一定義規則(C++)
- プリプロセッサ(C++)
- プリプロセッサー命令(C++)
- インクルード命令
- マクロ(C++)
- 条件付きコンパイル
- ヘッダーファイル(C++)
- 推移的インクルード
- インクルードガード
- ヘッダー専用ライブラリ
- 識別子(C++)
- キーワード(C++)
- 宣言(C++)
- 前方宣言(C++)
- 宣言領域(C++)
- 定義(C++)
- オブジェクト(C++)
- 実体(C++)
- アイデンティティ(C++)
- 一時オブジェクト(C++)
- 変数(C++)
- 初期化(C++)
- 初期化子(C++)
- 未初期化変数
- 代入演算子(C++)
- ローカル変数(C++)
- グローバル変数(C++)
- 静的ローカル変数
- 型(C++)
- 基本型(C++)
- 組み込み型
- bool型(C++)
- char型
- int型(C++)
- 浮動小数点数型(C++)
- 符号なし整数型(C++)
- 固定幅整数型
- std::size_t型
- 複合型(C++)
- 型エイリアス(C++)
- 型推論(C++)
- constへの型推論
- 参照への型推論
- ポインタへの型推論
- トップレベルconstとローレベルconst(C++)
- decltype
- リテラル(C++)
- 文字列リテラル(C++)
- 生文字列リテラル(C++)
- 属性(C++)
- maybe_unused属性
- fallthrough属性
- 定数(C++)
- const(C++)
- コンパイル時定数
- 実行時定数
- constexpr
- constexpr関数
- 即時関数
- is_constant_evaluated()
- constexprメンバ関数
- コンパイル時評価
- As-if規則
- 定数畳み込み
- 定数伝播
- 数値型を扱うベストプラクティス(C++)
- オーバーフロー
- ラップアラウンド
- sizeof演算子
- 標準変換
- 数値昇格
- 数値変換
- 縮小変換
- 通常の算術変換
- common_type
- 明示的な変換
- static_cast
- typeid演算子
- 浮動小数点数の比較
- 式(C++)
- 値のカテゴリ(C++)
- glvalue
- lvalue
- xvalue
- rvalue
- prvalue
- xvalue
- 演算子(C++)
- 副作用(C++)
- オペランドの評価順序
- インクリメント・デクリメント演算子
- カンマ演算子
- 条件演算子(C++)
- 関係演算子(C++)
- 論理演算子(C++)
- ビット演算子(C++)
- ビット操作
- ビットフラグ
- ビットマスク
- bitset
- 剰余演算子
- スコープ(C++)
- ブロック(C++)
- 名前の衝突(C++)
- 名前空間(C++)
- グローバル名前空間(C++)
- 無名名前空間(C++)
- インライン名前空間
- using指令(C++)
- スコープ解決演算子
- リンケージ
- extern(C++)
- 外部変数
- インライン指定
- インライン関数
- インライン変数
- インライン展開
- static
- 静的記憶域期間
- if文(C++)
- dangling else
- for文
- 範囲for文
- do-while文
- goto文
- プログラムの終了
- ステータスコード
- std::exit
- std::atexit
- std::abort
- センチネル値
- アサーション
- assert
- static_assert
- 関数(C++)
- 引数の種類
- 出力引数
- 値渡し
- 参照渡し
- 値渡しと参照渡しの使い分け
- ポインタ渡し
- 参照返し
- ポインタ返し
- 再帰(C++)
- コマンドライン引数(C++)
- 可変長引数(C++)
- ラムダ式
- 疑似乱数生成器
- シード
- メルセンヌ・ツイスタ
- オーバーロード
- オーバーロード解決
- 曖昧な関数呼び出し
- テンプレート(C++)
- テンプレートパラメータ
- 非型テンプレートパラメータ
- 関数テンプレート
- テンプレートのファイル分割
- 関数テンプレートの特殊化
- クラステンプレート
- クラステンプレート引数推論
- クラステンプレートのメンバ関数
- クラステンプレートの特殊化
- クラステンプレートのメンバ関数の明示的特殊化
- クラステンプレートの部分特殊化
- エイリアステンプレート
- 可変引数テンプレート
- pair(C++)
- 左辺値参照(C++)
- 束縛
- const左辺値参照
- 右辺値参照
- 右辺値参照へのキャスト
- 参照修飾子
- アドレス演算子
- 間接演算子
- ポインター
- ポインタと左辺値参照の違い
- ヌルポインタ
- ポインタ演算
- voidポインタ
- 関数ポインタ
- オプション値
- reference_wrapper
- 文字列(C言語)
- 文字列(C++)
- std::string_view
- constなstringの参照とstring_viewの使い分け
- ストリーム(C++)
- 標準ストリーム(C++)
- 標準入力(C++)
- 標準出力(C++)
- 標準エラー出力(C++)
- 抽出演算子
- 挿入演算子
- 非書式化入力関数
- マニピュレータ(C++)
- getline(C++)
- ストリーム状態と入力検証(C++)
- 文字列ストリーム(C++)
- ファイル入出力
- 配列(C言語)
- 配列(C++)
- C++で配列を使い分けるベストプラクティス
- 配列の動的確保
- コンテナ(C++)
- array(C++)
- vector(C++)
- initializer_list
- イテレータ(C++)
- アルゴリズム(C++)
- 時間計測(C++)
- ユーザー定義型
- スコープ無し列挙型
- スコープ付き列挙型
- 列挙型による配列管理
- 配列のループと添字の符号
- 構造体(C++)
- 集成体
- 構造体の引数渡しと戻り値としての返却
- プログラム定義型をメンバに持つ構造体
- 構造体の設計
- 構造体のサイズ(パディングとアラインメント)
- 構造体のポインタと参照へのメンバのアクセス
- クラス(C++)
- クラスと構造体の違い(C++)
- メンバ関数
- クラス型のconstなオブジェクト
- constメンバ関数
- アクセスレベル
- privateなメンバ変数の命名
- アクセス指定子
- アクセス関数
- コンストラクタ(C++)
- デフォルトコンストラクタ(C++)
- クラス型のデフォルト初期化と値初期化
- コピーコンストラクタ(C++)
- ムーブコンストラクタ
- コピー省略(C++)
- デストラクタ(C++)
- thisポインタ
- メンバ型
- 静的メンバ変数
- 静的メンバ関数
- フレンド(C++)
- フレンド関数(C++)
- フレンドクラス(C++)
- クラスのファイル分割
- ユーザー定義変換(C++)
- 演算子オーバーロード
- 前後置演算子のオーバーロード
- 添字演算子のオーバーロード
- 括弧演算子のオーバーロード
- 型変換演算子のオーバーロード
- 代入演算子のオーバーロード
- コピー代入演算子(C++)
- プログラムが使うメモリ
- メモリ割り当て
- 静的メモリ割り当て
- 自動メモリ割り当て
- 動的メモリ割り当て
- RAII
- 浅いコピー
- 深いコピー
- ムーブセマンティクス
- ムーブ代入演算子(C++)
- noexcept
- move_if_noexcept
- スマートポインタ
- unique_ptr
- shared_ptr
- weak_ptr
- 循環参照
- コンポジション
- 集約
- 継承(C++)
- 継承に対するアクセス指定子(C++)
- 派生クラスのメンバ関数呼び出しのオーバーロード解決
- 継承した機能の隠蔽
- 多重継承
- 基底クラスのポインタと参照
- 仮想関数
- override
- final
- 仮想デストラクタ
- 関数呼び出しの決定(C++)
- 仮想関数テーブル
- 仮想基底クラス
- オブジェクトスライシング
- アップキャスト
- ダウンキャスト
- dynamic_cast
- RTTI
- 継承クラスの出力演算子
- 例外処理(C++)
- 例外クラス(C++)
- 例外の再送出
- 関数tryブロック
- 例外の欠点
- 静的ライブラリと動的ライブラリ(C++)
- コーディング規約(C++)
関連
References
おすすめ
他
- 独習C++
- 江添亮のC++入門
- ゼロから学ぶ C++
- Sanjay Madhav.ゲームプログラミングC++
- Effective Modern C++
- Google C++ スタイルガイド 日本語全訳
- cpprefjp - C++日本語リファレンス
- https://www.reddit.com/user/IyeOnline/comments/157f10z/comment/juvgjkc/
- https://www.reddit.com/r/cpp_questions/comments/rxx0z5/best_resources_to_learn_c/
- https://www.studyplan.dev/
- https://cliutils.gitlab.io/modern-cmake/README.html