Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
モダンC++マスターコース — 基礎からC++20まで日本語で完全制覇
203 students

モダンC++マスターコース — 基礎からC++20まで日本語で完全制覇

Hello WorldからRAII、ムーブセマンティクス、Concepts、Ranges、コルーチンまで体系的に学ぶ実践C++講座
Last updated 7/2026
Japanese
Japanese [Auto],

What you'll learn

  • モダンC++(C++11/14/17/20)の文法と設計思想を体系的に習得する
  • RAII、ムーブセマンティクス、所有権モデルを内部メカニズムから理解する
  • std::vector、std::map、イテレータなどSTLコンテナとアルゴリズムを使いこなす
  • スマートポインタによる安全なリソース管理と例外処理を実装できる
  • std::thread、std::async、std::futureで並行・非同期処理を書ける
  • テンプレートとC++20 Conceptsによるジェネリックプログラミングをマスターする
  • std::optional、std::variant、構造化束縛など最新のエラー処理と表現技法を活用する
  • RangesライブラリとコルーチンでモダンなC++20スタイルのコードを書く
  • コンパイル工程、メモリモデル、未定義動作を理解し、最適化を意識した設計ができる
  • ゼロオーバーヘッド原則に基づく高性能で安全なコードを設計・実装できる

Course content

7 sections45 lectures4h 7m total length
  • C++誕生の物語 — BellラボからISO標準まで5:56

    C++が1979年にBjarne StroustrupのもとでBellラボの「C with Classes」として産声を上げてから、初版、ISO初標準化、そしてC++11/14/17/20/23へと続くモダン標準までの歩みを、一本のタイムラインとしてたどります。なぜCを土台にして生まれたのか、SimulaやAlgolといった祖先からどんな影響を受けたのか、三年サイクルの標準化が各世代に何を刻んできたのかをつかみ、C++という言語の「年輪」を直感的に理解できます。

  • 最初のC++プログラム — main関数とstd::cout3:49

    最小構成のHello Worldを実際に動かしながら、`#include <iostream>`、`int main()`、`std::cout << ... << std::endl;`、`return 0;`という4つの要素がそれぞれ何をしているのかを一つずつ読み解きます。コンソールに最初のメッセージを出すところから、複数の値を一気に流してステータス画面のような表示を組み立てるところまで体験し、初めて自分の手でC++コードを走らせる感覚をつかみます。

  • 名前空間とusing宣言 — std::の正体5:40

    `std::cout`の頭についている`std::`が何者なのかを、名前空間stdの観点から解き明かします。`using namespace std;`を使う場合と使わない場合のコードを見比べて出力を確認し、大規模プロジェクトではなぜ`using namespace std;`が避けられるのかを理解します。最後に自分で名前空間`my_app`を定義し、ネストや選択的なusing宣言を使ってその中の関数を呼び出すコードを書いてみます。

Requirements

  • 変数・関数・ループといったプログラミングの基本概念を理解していること
  • 他言語(Python、Java、JavaScript、C#など)での開発経験が少しでもあると望ましい
  • コマンドライン(ターミナル)の基本操作ができること
  • テキストエディタまたはIDE(VS Code、CLion、Visual Studioなど)を扱えること
  • C++コンパイラ(g++、clang、MSVCのいずれか)をインストールできる環境

Description

This course contains the use of artificial intelligence.

C++は半世紀近くにわたり、OS、ゲームエンジン、金融取引システム、ブラウザ、組み込み機器、AIフレームワークの心臓部を支え続けてきた言語です。ハードウェアに最も近い高水準言語として「ゼロオーバーヘッド原則」を掲げ、Rustが台頭する現代においても圧倒的な性能と既存資産で揺るぎない地位を維持しています。しかしC++11以降の進化は凄まじく、ムーブセマンティクス、ラムダ式、スマートポインタ、Concepts、Ranges、コルーチンといった機能群は、もはや「古いC++」とは別言語と言えるほどです。今こそ、モダンC++を体系的に学び直す絶好のタイミングなのです。

本コースは、C++という言語を「文法の暗記」ではなく「設計思想と内部メカニズム」から理解することを目的としています。そのために各コーディングセクションは、まず短い概念講義で「なぜそうなっているのか」「どんな歴史と背景があるのか」を一望してから、すぐに手を動かすハンズオンのコーディング講義へと入っていく構成になっています。Hello Worldの裏にある言語の年輪、型システムを支えるエコシステム、メモリモデルや所有権の考え方を概念講義で押さえ、そのうえで変数・型・autoによる型推論、制御フロー、関数、参照渡し、ラムダ式、std::vector・std::map・イテレータといったSTLコンテナを一段ずつ実装していきます。さらにstd::threadによる並行処理、スマートポインタ、テンプレート、C++20 Concepts、例外処理、std::optional・std::variant、構造化束縛、Rangesライブラリ、そしてコルーチンまで、概念とコードを織り交ぜながら走り抜けます。ハンズオンの題材には、HPやダメージ計算、戦利品やパーティ管理といったRPGゲーム風の親しみやすい例を一貫して用い、抽象的になりがちな文法を具体的なイメージとともに体に染み込ませます。

全7セクションで構成され、最初の一歩からモダンC++の最新機能までを段階的に積み上げます。そしてコースの締めくくりには、ムーブセマンティクスと右辺値参照の本質、C++の代表的なデザインパターン地図、未定義動作(UB)とコンパイラ最適化の危険な関係、そしてコンパイル工程という一段深い概念講義をまとめて配置し、それまで書いてきたコードが「なぜ動くのか」を原理から腑に落とします。

対象は、他言語(Python、Java、JavaScriptなど)の経験があり本格的にC++へ踏み込みたい方、古いC++(C++98/03)の知識をモダンC++へアップデートしたい現役エンジニア、ゲーム開発・組み込み・高性能計算・システムプログラミングを目指す学生や転職希望者です。前提知識はプログラミングの基本概念(変数、関数、ループ)と、コマンドラインの基本操作のみ。コース修了時には、自力でモダンC++のコードを設計・実装・デバッグでき、所有権とライフタイムを意識した安全で高速なコードを書けるようになります。

本コースの特徴は、単なる文法解説に留まらず「なぜそうなっているのか」というC++特有の設計判断とトレードオフを日本語で丁寧に解説する点にあります。コンパイラがどう最適化し、なぜUBが危険なのか、RAIIがどう資源を守るのか、ムーブが何をムーブしているのか——表面ではなく原理まで降りて理解することで、応用が利く本物のスキルが身につきます。今すぐ受講登録して、現代のC++エンジニアへの第一歩を踏み出しましょう。

Who this course is for:

  • 他言語の経験を活かして本格的にC++を学びたいプログラマー
  • 古いC++の知識をモダンC++(C++11/14/17/20)へアップデートしたい現役エンジニア
  • ゲーム開発・組み込み・高性能計算・システムプログラミングを目指す学生や転職希望者
  • RustやGoと比較しながらC++の設計思想と立ち位置を深く理解したい技術者
  • 面接対策や競技プログラミングのためにC++の本質を押さえたい方