0Pricing
C++ Academy icon

C++ Academy

C_PLUS_PLUSSystemsBackendGamesDataAiSecurityBeginnerCloudDatabaseMobileEnterpriseDesktopCryptoNetwork

C++ Programming Academy でC++を学び、ソフトウェア開発スキルを向上させましょう。

🤖 AI 搭載📚 51 コース👥 100,000+ ユーザー⭐ 4.9 評価
コース概要

C++ は今なおパフォーマンスが最優先される言語

C++ はオペレーティング システム、ゲーム エンジン、コンパイラ、組み込みファームウェア、高頻度取引システムを動かしています。メモリとハードウェアへの直接的な制御を提供しながら、C++11 から C++20 で導入されたスマート ポインタからコルーチンまで、豊富な標準ライブラリと最新言語機能を備えています。このトラックは最初の変数宣言から、ロックフリーな並行データ構造と C++20 コルーチンの実装まで、言語全体をカバーしています。

学習内容

構文、変数、文字列、I/O ストリームから始まり、制御フロー、struct、クラス、動的配列へと進みます。C++ メモリ モデル、RAII、const 正確性、安全なポインタ使用法、std::optional と std::variant を中心に基礎能力を構築します。vector、連想コンテナ、unordered_map、std::array、std::span など STL コンテナ全体を扱い、STL アルゴリズム、イテレータ、範囲をマスターします。最新 C++ 機能には特別な注力をします:ムーブ セマンティクス、右辺値参照、ラムダ、ファンクタ、std::function、そして C++11、14、17、20 の注目機能です。後のコースでは Google Test でのユニット テスト、サニタイザによるデバッグ、CMake ベースのビルド、ファイル I/O、ネットワーク、並行プリミティブをカバーします。トラックは高度なテンプレート、SFINAE、C++20 Concepts、CRTP、型特性、ロックフリー アトミクス、コルーチンで完結します。

学習パス

51 のコースが A1 から C2 へと進行します。A1 と A2 の基礎コースは構文、文字列、I/O、制御フロー、struct、参照、実践的なミニ プロジェクト パターンをカバーします。B1 は最大のセクションで、19 コースを通じてメモリ モデル、スマート ポインタ、継承、演算子オーバーロード、標準ライブラリの深い理解で専門的な流暢さを確立します。B2 はムーブ セマンティクス、最新 C++ のハイライト、STL アルゴリズム、ユニット テスト、デバッグで高度なトピックへの橋渡しとなります。10 の C1 コースは並行処理、高度なテンプレートとメタプログラミング、C++20 Concepts、パフォーマンス エンジニアリング、組み込みシステム、相互運用性、API 設計に取り組みます。トラックは C2 でロックフリーおよびアトミック並行処理と C++20 コルーチンで完結します。

学習方法

各コースは短くフォーカスされたレッスンに分割され、組み込みコード エディタでリアルタイム フィードバックを得ながら完成させます。困ったときは、AI チューターが概念を説明し、単に答えを与えるのではなく、正しい解決策へ導きます。

学習を始める →

学び方

🎯
インタラクティブレッスン
リアルタイムフィードバック付きの実践的なコード演習
🤖
AIチューター
わからないときは、AIが即座にサポート
💻
組み込みエディタ
ブラウザで直接コードを書いて実行
🏆
認定資格
コース完了時に認定資格を取得
カリキュラム

51コース

C++ Academyラーニングパスのすべてのコース

01

C++へようこそ

A13レッスン

C++とは何か、誕生から40年経った今も強力で広く使われている理由、そして日々の生活のどこでひそかに動いているのかを学びます。

02

C++の基礎:構文と変数

A14レッスンPRO

C++コンパイラをセットアップし、最初のプログラムを書きます。変数、型推論、基本的な演算子を習得します。すべてのC++開発者にとっての出発点です。

03

C++の文字列操作

A14レッスンPRO

std::stringとC形式のchar配列でテキストを操作します。日常的な文字列操作に必要な解析、フォーマット、変換を学びます。

04

入出力ストリーム

A14レッスンPRO

iostreamを使って入力を読み取り、出力を整理して書き込みます。cin、cout、cerr、フォーマット用ヘルパー、安全な入力検証を扱います。

05

制御フローのパターン

A14レッスンPRO

洗練された分岐とループを学びます。if-else、switch、for、while、範囲ベースfor、読みやすいコードのための現代的な早期return方式を扱います。

06

構造体とクラス入門

A24レッスンPRO

データを構造体やクラスにまとめます。コンストラクタ、メンバー初期化子リスト、thisポインタを学びます。

07

数値と数学の扱い

A24レッスンPRO

整数、浮動小数点数、cmathライブラリを使って計算します。乱数の生成とオーバーフローの挙動も理解します。

08

ベクターと動的配列

A24レッスンPRO

現代的なC++コレクションの中心となるstd::vectorを習得します。std::arrayや生のC形式配列との違いも比較します。

09

参照と参照渡し

A24レッスンPRO

ポインタより安全な代替手段である参照を理解し、参照渡しとconst参照で値を渡す際のルールを学びます。

10

実践的なミニプロジェクトのパターン

A24レッスンPRO

学んだことをすべて活用し、電卓、CSVリーダー、数当てゲーム、単語頻度カウンターという4つの独立したミニプロジェクトを作ります。

11

<random>による乱数

A24レッスンPRO

による乱数:乱数エンジン、分布などを学びます

12

C++のメモリモデル:スタックとヒープ

B14レッスンPRO

C++のメモリモデル:スタックとヒープ:スタックへの割り当て、new/deleteによるヒープ割り当てなどを学びます

13

RAIIとリソース管理

B14レッスンPRO

RAIIとリソース管理:RAIIの原則、デストラクタとクリーンアップなどを学びます

14

例外処理とnoexcept

B14レッスンPRO

例外処理とnoexcept:try、catch、throw、例外安全性などを学びます

15

constの正しさとconstexpr

B14レッスンPRO

constの正しさとconstexpr:const変数とパラメーター、constメンバー関数などを学びます

16

ポインタを安全に扱う

B14レッスンPRO

生ポインタを適切に扱います。ポインタ演算、nullptr、参照やスマートポインタを優先すべき場面を学びます。

17

列挙型、共用体とstd::variant

B14レッスンPRO

列挙型、共用体とstd::variant:スコープ付きenum class、共用体とそのリスクなどを学びます

18

std::optionalとstd::expected

B14レッスンPRO

std::optionalとstd::expected:optionalによる不在の表現、optionalの値へのアクセスなどを学びます

19

std::string_viewと効率的な文字列

B14レッスンPRO

std::string_viewと効率的な文字列:string_viewを使う理由、ビューの作成などを学びます

20

std::arrayとstd::span

B14レッスンPRO

std::arrayとstd::span:固定サイズのstd::array、std::spanの基礎などを学びます

21

連想コンテナ

B14レッスンPRO

連想コンテナ:std::map、std::setなどを学びます

22

unordered_mapによるハッシュ処理

B14レッスンPRO

unordered_mapによるハッシュ処理:std::unordered_map、unordered_setなどを学びます

23

スマートポインタと所有権

B14レッスンPRO

生のnewとdeleteをスマートポインタに置き換えます。unique_ptr、shared_ptr、weak_ptrの所有権セマンティクスを習得します。

24

継承とポリモーフィズムのパターン

B14レッスンPRO

継承、仮想関数、抽象クラスを使ったオブジェクト指向設計を実践し、コンポジションが適する場面も理解します。

25

演算子オーバーロードとユーザー定義型

B14レッスンPRO

自作の型を自然に使えるようにします。算術演算子、比較演算子、ストリーム演算子、C++20の三方比較演算子をオーバーロードします。

26

CMakeとパッケージ管理によるビルド

B14レッスンPRO

CMakeで移植性と拡張性に優れたC++ビルドを構成します。vcpkgとConanで依存関係を管理します。

27

fstreamによるファイルI/O

B14レッスンPRO

fstreamによるファイルI/O:ifstreamによるファイルの読み込み、ofstreamによる書き込みなどを学びます

28

時間とChronoライブラリ

B14レッスンPRO

時間とChronoライブラリ:期間とクロック、時点などを学びます

29

<regex>による正規表現

B14レッスンPRO

による正規表現:regexの基礎、キャプチャグループなどを学びます

30

Modern C++ C++11 14 17 20の注目機能

B24レッスンPRO

C++11からC++20までに追加された重要な機能を見ていきます。auto、range-for、ラムダ、構造化束縛などを扱います。

31

ムーブセマンティクスと右辺値参照

B24レッスンPRO

不要なコピーをなくします。右辺値参照、std::move、std::forward、ムーブコンストラクタの書き方を学びます。

32

ファンクタ、ラムダ、std::function

B24レッスンPRO

Modern C++で呼び出し可能オブジェクトを効果的に使います。ファンクタ、ラムダ、型消去を行うstd::functionを比較します。

33

STLアルゴリズム徹底解説

B24レッスンPRO

豊富なアルゴリズムライブラリを使います。非変更系、変更系、ソート、数値アルゴリズムを実例とともに扱います。

34

イテレータとRanges

B24レッスンPRO

イテレータのカテゴリを理解し、合成可能で遅延評価されるC++20 rangesライブラリを取り入れます。

35

関数オブジェクトとstd::bind

B24レッスンPRO

関数オブジェクトとstd::bind:関数ポインター、std::functionなどを学びます

36

ネットワークとソケット

B24レッスンPRO

C++からネットワーク通信を行います。BSDソケット、epollによる非同期I/O、クリーンな非同期コードを実現するBoost.Asioを使います。

37

Google Testによるユニットテスト

B24レッスンPRO

Google Testによるユニットテスト:GTestのセットアップ、アサーションとマッチャーなどを学びます

38

デバッグとサニタイザー

B24レッスンPRO

デバッグとサニタイザー:gdbとlldb、AddressSanitizerなどを学びます

39

並行処理の基本要素

C14レッスンPRO

コードを安全に並列実行します。std::thread、std::mutex、条件変数、futureを使うstd::asyncを学びます。

40

テンプレートの特殊化とSFINAE

C14レッスンPRO

テンプレートの特殊化とSFINAE:完全特殊化、部分特殊化などを学びます

41

高度なテンプレートとメタプログラミング

C14レッスンPRO

テンプレートを自在に使えるようになります。特殊化、可変長テンプレート、constexpr関数、if constexprを扱います。

42

C++20 Conceptsと制約

C14レッスンPRO

冗長なSFINAEを、テンプレートを制約するためのより明快なC++20 conceptsシステムに置き換えます。

43

パフォーマンスエンジニアリングとプロファイリング

C14レッスンPRO

C++コードを高速化します。キャッシュを意識したレイアウト、分岐予測、プロファイリングツール、マイクロベンチマークを扱います。

44

組み込みとシステムプログラミングのためのC++

C14レッスンPRO

マイクロコントローラやシステムソフトウェアにC++を適用します。RTTIなし、例外なし、リアルタイム要件などの制約を扱います。

45

相互運用性:C++と他言語

C14レッスンPRO

C++をC、Python、Rustなどと連携させます。extern C、pybind11、FFI、SWIGを使って異なるエコシステムをつなぎます。

46

C++ APIの設計とライブラリ作成

C14レッスンPRO

長く使えるライブラリを設計します。ヘッダーオンリーのパターン、APIのバージョニング、ABI安定性、PIMPLを扱います。

47

本番環境のModern C++

C14レッスンPRO

信頼性の高いC++をリリースします。静的解析、サニタイザー、ファジング、継続的インテグレーションでコードの健全性を保ちます。

48

CRTPと静的ポリモーフィズム

C14レッスンPRO

CRTPと静的ポリモーフィズム:CRTPイディオム、静的ポリモーフィズムなどを学びます

49

型特性と<type_traits>

C14レッスンPRO

型特性と :型の問い合わせ、型の変換などを学びます

50

高度な並行処理:ロックフリーとアトミック

C24レッスンPRO

アトミック操作、メモリ順序、CASループを使ってロックフリーなデータ構造を構築します。ロックフリープログラミングの危険性も理解します。

51

コルーチン C++20

C24レッスンPRO

C++20のコルーチンを使い、同期処理のように読める非同期コードを書きます。独自のジェネレータとタスクを構築します。

よくある質問

よくある質問

C++ Academyコースは無料ですか?

はい。C++ Academyコースは無料で始められ、インタラクティブレッスンをすべて無料で完了できます。オプションのPRO登録で、高度なAIツールと共有可能な認定資格がアンロックされます。

C_PLUS_PLUSを学ぶのに事前経験は必要ですか?

いいえ。コースは基礎から始まり、より高度なトピックへと進むので、C_PLUS_PLUSの事前経験がなくても始められます。

CoddyKitでC_PLUS_PLUSをどのように学びますか?

実践しながら学びます。短いインタラクティブレッスンは、わかりやすい説明と、リアルタイムで実行される実践的なコード演習が組み合わさっており、24時間対応のAIチューターがわからないときにいつでもサポートします。

C++ Academyを完了すると認定資格がもらえますか?

はい。PRO学習者は試験を受けて、C++ Academyコースの完了を証明する共有可能な認定資格を取得できます(認証コード付き)。

スマートフォンでC_PLUS_PLUSを学べますか?

はい。CoddyKitはウェブとネイティブiOS・Androidアプリで利用でき、どのデバイスでもC_PLUS_PLUSを学習でき、進捗がすべてのデバイスで同期されます。

C++ Academyを今すぐ始める

AI搭載レッスンでプログラミングをマスターする数千人の学習者に参加しましょう。

無料で始める →すべてのコースを見る