Caution
お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。
辞典
- トップページ
- C++辞典
C++辞典 一覧ページ
| 初心者向け: 概要と特徴、学習順ガイド | C言語との違い・主な特徴と学習順の案内。 |
| 【環境構築】C++の開発環境 | g++とclangのインストールからHello World実行まで。 |
| 抽象クラス(純粋仮想関数) | 純粋仮想関数による設計契約の定義。 |
| 配列(int[]) | Cスタイル配列とstd::arrayの使い分け。 |
| std::async / std::future | スレッド不要の非同期処理とlaunchポリシー。 |
| auto 型推論 | コンパイラによる型自動推論とdecltypeとの組み合わせ。 |
| std::bitset | 固定長ビット列の効率的な管理と演算。 |
| <chrono>(時間操作) | 型安全な時刻・時間計測と単位変換。 |
| クラス定義(メンバ変数・メンバ関数) | メンバ変数・メンバ関数とアクセス指定子の基本。 |
| concepts(C++20) | テンプレート引数への型制約の明示(C++20)。 |
| const / constexpr | 変更不可修飾子constとコンパイル時定数constexprの違い。 |
| コンストラクタ / デストラクタ | オブジェクト生成・破棄時の自動処理と初期化リスト。 |
| コピーコンストラクタ / 代入演算子 | 浅いコピーの危険と深いコピーの明示的な定義。 |
| コルーチン(C++20) | 関数を一時停止・再開するコルーチン構文(C++20)。 |
| int / double / char / bool | int・double・char・boolのサイズと表現範囲。 |
| enum / enum class | enumとenum classによる型安全な定数グループ。 |
| try / catch / throw | try・catch・throwによる例外処理の分離。 |
| ファイル I/O(fstream) | ifstream・ofstream・fstreamによるファイル入出力。 |
| for / 範囲for | 基本forと範囲for(range-based for)の2種類。 |
| 関数オーバーロード | 同名関数を引数の型・個数で定義する仕組みと解決規則。 |
| 関数の定義(引数・戻り値) | 戻り値型・引数リスト・値渡しと参照渡しの使い分け。 |
| Hello World とコンパイル・実行 | #include・main関数・coutとコンパイル手順。 |
| if / else if / else | 条件分岐と初期化付きif文(C++17)・三項演算子。 |
| 継承(public / protected / private) | 基底クラスの機能を引き継ぐ継承とアクセス修飾子の違い。 |
| std::initializer_list | 波括弧初期化とstd::initializer_listを使ったコンストラクタ。 |
| イテレータ | コンテナを走査するイテレータとbegin()/end()の使い方。 |
| ラムダ式 [](){} | 無名関数の記法・キャプチャリストとmutable修飾子。 |
| モジュール(C++20) | ヘッダとプリプロセッサを置き換える新しいコンパイル単位(C++20)。 |
| ムーブセマンティクス | リソースを移動してコピーコストを回避するムーブ操作。 |
| 多重継承 | 多重継承とダイヤモンド問題をvirtual継承で解決する方法。 |
| std::mutex / std::lock_guard | マルチスレッドの競合状態をmutexとlock_guardで防ぐ。 |
| namespace(名前空間) | 識別子の衝突を防ぐスコープ管理と無名名前空間。 |
| nullptr / static_cast / dynamic_cast | nullptrと4種のキャスト演算子の使い分け。 |
| 演算子オーバーロード | クラスに+や==などの演算子を再定義する仕組み。 |
| 算術・比較・論理演算子 | 算術・比較・論理・ビット演算子の優先順位と結合規則。 |
| std::optional | 値が存在しない可能性を型安全に表現(C++17)。 |
| override / final | 仮想関数のシグネチャミスをコンパイル時に検出するoverride/final。 |
| 完全転送(std::forward) | std::forwardで引数の値カテゴリをそのまま転送する手法。 |
| ポインタ(* / &) | メモリアドレスを扱うポインタとnew/deleteによる動的確保。 |
| ポリモーフィズム(virtual) | virtualキーワードによる実行時ディスパッチとvtableの仕組み。 |
| ranges(C++20) | |演算子でアルゴリズムをチェーンするstd::ranges(C++20)。 |
| 参照(&) | 既存の変数に別名を付ける参照とconst参照の使い方。 |
| std::regex(正規表現) | std::regexによるパターンマッチ・検索・置換。 |
| rvalue 参照(&&) | 一時オブジェクトの所有権を奪うrvalue参照(&&)。 |
| std::shared_ptr | 参照カウントによる共有所有権の管理と循環参照の注意。 |
| スマートポインタ概要 | 3種のスマートポインタの所有権モデルと使い分け。 |
| <algorithm> ヘッダ | ソート・検索・変換などのアルゴリズム関数群。 |
| std::list | 双方向リンクリストstd::listと両端キューstd::dequeの特性。 |
| std::map / std::unordered_map | std::mapとstd::unordered_mapの性能と使い分け。 |
| std::set / std::unordered_set | 重複なし要素管理のstd::setとstd::unordered_setの違い。 |
| std::stack / std::queue | LIFO・FIFO・優先順位付きコンテナアダプタの使い分け。 |
| std::vector | 動的サイズ配列コンテナstd::vectorの主要操作。 |
| std::string | std::stringの宣言・連結・検索・数値変換の基本。 |
| std::stringstream | 文字列をストリームとして扱う数値↔文字列変換とパース。 |
| struct(構造体) | メンバがデフォルトpublicなデータ集約型とclassとの違い。 |
| switch / case | 整数・列挙型の多分岐とfall-through・breakの使い方。 |
| テンプレートクラス | 型をパラメータとして受け取る汎用クラスの定義と特殊化。 |
| テンプレート関数 | 型を抽象化して再利用できる関数テンプレートの仕組み。 |
| std::thread | std::threadによるスレッド生成とjoin/detachの制御。 |
| C++のテクニック集 | RAII・Pimpl・CRTP・コピーアンドスワップなどの定石イディオム集。 |
| std::tuple / std::pair | std::pairで2値、std::tupleで任意個数の値をまとめる。 |
| std::unique_ptr | 排他的所有権を管理するスマートポインタとmake_unique。 |
| 変数の宣言と初期化 | 型宣言・初期化・代入とスコープによる有効期間。 |
| 可変長テンプレート | 任意個数・任意型の引数を受け取るパラメータパックの展開。 |
| std::weak_ptr | 参照カウントを増やさない弱参照で循環参照を回避。 |
| while / do-while | 条件前評価のwhileと最低1回実行のdo-whileの使い分け。 |