C++ Learning

C++ を、Cとくらべて理解する。

「Cで書くと煩雑だが、C++ ならここまで短く・安全に書ける」
コード対比とメモリ・vtable・ライフサイクルの可視化で、モダンC++(C++17 基準)を要点から掴むための学習サイト。C の基礎を終えた方を想定しています。

C++17 基準 全 70 章 + 特別コンテンツ 150+ Before/After 対比 無料
対象前提
このサイトは C 言語の基礎(ポインタ・構造体・malloc 程度まで)を学んだ方 を想定しています。C がはじめての方は、まず姉妹サイトで土台を作ってから戻ってくると、どの章もスムーズに読めます。
C 言語入門サイトへ →

特徴

C と比較しながら学ぶ・見えない挙動を可視化する・現代の書き方を採る、の3点を徹底。

C / C++ コード対比
各章に Before(C) / After(C++) を並べたコードカードを常設。40 行が 1 行になる差分を積み重ねて、C++ を採る合理性が腑に落ちる構成。
可視化ファースト
vtable、参照カウント、SSO、std::vector の再確保、オブジェクトのコンスト→コピー→ムーブ→デストのライフサイクルなど、通常は見えない挙動を段階アニメで追跡。
C++17 基準・モダン流儀
new/delete 直書きや手書きのコピーコンストラクタなど旧来のイディオムは避け、スマートポインタ・RAII・ムーブ・ラムダ・範囲 for を既定の書き方として扱います。
Σ
STL アルゴリズム特集
sort / search / transform / numeric / set / permutation / predicate の 7 分野を個別章で扱い、自作実装との行数・計算量・実行時間を比較。逆引きショーケースも用意。

対象読者

C の基礎を終えた人の次の一歩として設計。入門書ではなく、移行と体系化のための資料。

TRANSITION

Cを学び終えて、次の一歩に迷っている

『C++ は難しそう』『new/delete が怖い』で止まっている人に、モダンC++の安全で書きやすい書き方を、Cの書き方と並べて見せます。

MODERNIZE

古いC++(C++03世代)から脱皮したい

auto、範囲for、スマートポインタ、ムーブセマンティクス、ラムダ、コンセプトなどC++11以降の機能を、なぜ必要かの文脈込みで学べます。

ACADEMY

大学のC++演習・試験対策

クラス・継承・仮想関数・テンプレート・STLを大学カリキュラムの順で学習可能。穴埋め問題とコード対比で試験対策にも使えます。

70+
全コンテンツ数
150+
Before/After コード対比
150+
練習問題・クイズ
0円
完全無料

このサイトで到達できる学習ロードマップ

3ステップでC経験者からモダンC++実戦レベルへ

Step 01

Cとの差分を押さえる

iostream、参照、関数オーバーロード、統一初期化、nullptr、constexpr。『Cにはなかった便利機能』を段階的に獲得します。

  • std::cout / std::cin
  • 参照と参照渡し
  • 関数オーバーロード
  • 統一初期化 {}
Step 02

C++の核心を理解する

STLコンテナ・STLアルゴリズム・クラス・ライフサイクル・スマートポインタ・継承。ここが通れば C++ は怖くない。

  • std::vector / std::sort
  • コンスト/デスト/RAII
  • コピー vs ムーブ
  • unique_ptr / shared_ptr
Step 03

モダンな書き方に移行する

テンプレート、ラムダ、STL algorithm 特集、例外、スレッドまで。現代の C++17 プロジェクトが読めるレベルへ。

  • テンプレート・コンセプト
  • ラムダ × algorithm
  • std::thread / std::async
  • STL algorithm 特集

カリキュラム全70+ 講座 + 特別コンテンツ

基礎から応用まで、順番に学べるステップバイステップ構成

PREP 準備編 ― 開発環境を整えよう
STEP 1 使ってみる ― まず STL の威力を体験する
STEP 2 道具を整える ― 使っていた機能の文法をきちんと押さえる
STEP 3 コンテナをもう少し ― STL の器を広げる
STEP 4 クラス基本 ― C++の主役
STEP 5 ★ライフサイクル編★ ― サイト最大の目玉
STEP 6 スマートポインタ ― モダンC++の資源管理 作成中
37
RAII の哲学
38
std::unique_ptr
39
★std::shared_ptr(参照カウント)
40
std::weak_ptr と循環参照
41
確認問題(スマートポインタ)
STEP 7 継承と多態 ― オブジェクト指向の核心 作成中
42
継承の基本
43
仮想関数と override/final
44
★vtable の可視化
45
純粋仮想関数と抽象クラス
46
多重継承と菱形継承
47
確認問題(継承と多態)
STEP 8 テンプレート ― 型を引数にする 作成中
48
関数テンプレート
49
クラステンプレート
50
可変長テンプレート
51
確認問題(テンプレート)
STEP 9 ★STLアルゴリズム特集★ ― ラムダと algorithm の真価 作成中
52
ラムダ式
53
std::function
54
★ソート系アルゴリズム
55
★探索系アルゴリズム
56
★変換系アルゴリズム
57
★数値系アルゴリズム
58
集合演算アルゴリズム
59
順列・シャッフル系
60
述語・集計系アルゴリズム
STEP 10 モダン標準ライブラリ ― C++17 の武器庫 作成中
61
std::optional
62
std::variant と std::any
63
std::filesystem
STEP 11 例外処理 ― エラー伝播の正統派 作成中
64
例外処理の基本
65
noexcept と例外安全性
66
例外 vs 戻り値エラー
STEP 12 並行処理 ― std::thread の世界 作成中
67
std::thread 入門
68
std::mutex と lock_guard
69
std::async と std::future
70
std::atomic の基礎
ERR エラー辞典 ― エラーメッセージから引く 作成中
C++コンパイルエラー辞典
テンプレートエラー解読
C++実行時エラー辞典
練習 演習・課題 ― 手を動かして定着 作成中
練習問題集(全40問)
穴埋め問題集(大学試験対策・40問)
プロジェクト制作(全8作)
ライフサイクル・トレース問題(全40問)
応用 応用トピック ― 一歩進んだ武器 作成中
★STLアルゴリズム威力ショーケース
デザインパターン入門
PImpl イディオム
CRTP(静的ポリモルフィズム)
型消去
実践 実践編 ― ビルド/デバッグ/テスト 作成中
CMake 入門
C++ での gdb デバッグ
AddressSanitizer / UBSan
GoogleTest / Catch2 入門
REF 参考資料 ― 辞書として活用 作成中
C++チートシート
★C と C++ の違い総覧
C++ 規格比較表(C++03〜C++17)
おすすめC++本ランキング
C++ FAQ

C++ 学習におすすめの書籍

サイトで動きを理解し、書籍で深掘りすると学習効果が上がります

入門

独習C++ 新版

C言語を学んだ人向けの定番入門書。文法から STL、スマポまで丁寧に解説。このサイトと併用すると知識の深さが増します。

Amazonで見る
定番

Effective Modern C++

C++11/14/17 の現代的な使い方を 42 の鉄則でまとめた名著。中級者必携。このサイトで土台を作ってから読むと腹落ちします。

Scott Meyers 著
Amazonで見る
ステップアップ

プログラミング言語C++ 第4版

C++ 生みの親 Bjarne Stroustrup による決定版。全機能を体系的に解説。入門を終えた後の辞典として最強。

B. Stroustrup 著
Amazonで見る

※ 上記リンクはアフィリエイトリンクです。購入によりサイト運営費を支援いただけます。紹介する書籍は学習効果を基準に選定しています。

このサイトの方針

初心者が『新しい知識を習う』だけでなく、『なぜこう書くか』を理解して『手を動かせる』状態までサポートします。旧スタイル(new/delete直書き、コピーコンスト手書き)ではなく、C++17 の現代的な書き方を最初から自然に教えます。検索で来た人にも安心して使ってもらえるよう、運営方針とコンテンツの考え方を明示します。

C から C++ への一歩を踏み出す

最初の章は数分で読めます。Cで書いていたコードがどれだけ短く安全になるかを確かめてください。