言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

  1. トップページ
  2. 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 / boolint・double・char・boolのサイズと表現範囲。
enum / enum classenumとenum classによる型安全な定数グループ。
try / catch / throwtry・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_castnullptrと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_mapstd::mapとstd::unordered_mapの性能と使い分け。
std::set / std::unordered_set重複なし要素管理のstd::setとstd::unordered_setの違い。
std::stack / std::queueLIFO・FIFO・優先順位付きコンテナアダプタの使い分け。
std::vector動的サイズ配列コンテナstd::vectorの主要操作。
std::stringstd::stringの宣言・連結・検索・数値変換の基本。
std::stringstream文字列をストリームとして扱う数値↔文字列変換とパース。
struct(構造体)メンバがデフォルトpublicなデータ集約型とclassとの違い。
switch / case整数・列挙型の多分岐とfall-through・breakの使い方。
テンプレートクラス型をパラメータとして受け取る汎用クラスの定義と特殊化。
テンプレート関数型を抽象化して再利用できる関数テンプレートの仕組み。
std::threadstd::threadによるスレッド生成とjoin/detachの制御。
C++のテクニック集RAII・Pimpl・CRTP・コピーアンドスワップなどの定石イディオム集。
std::tuple / std::pairstd::pairで2値、std::tupleで任意個数の値をまとめる。
std::unique_ptr排他的所有権を管理するスマートポインタとmake_unique。
変数の宣言と初期化型宣言・初期化・代入とスコープによる有効期間。
可変長テンプレート任意個数・任意型の引数を受け取るパラメータパックの展開。
std::weak_ptr参照カウントを増やさない弱参照で循環参照を回避。
while / do-while条件前評価のwhileと最低1回実行のdo-whileの使い分け。