学習ロードマップ
あなたの目標に合わせて学習パスを選ぼう
🔵
C++基礎
プログラミングの基礎を学ぶ
変数、データ型、制御構文、関数、ポインタと参照、配列とベクター、クラスとOOPなど、C++プログラミングの基礎をしっかりと身につけましょう。
学べること
- 変数とデータ型
- 制御構文
- 関数
- ポインタと参照
- 配列とベクター
- クラスとOOP
コード例
// C++の基本
#include <iostream>
#include <vector>
#include <string>
int main() {
std::string name = "太郎";
int age = 25;
std::vector<std::string> hobbies = {"読書", "ゲーム", "料理"};
std::cout << name << "さん(" << age << "歳)" << std::endl;
for (const auto& hobby : hobbies) {
std::cout << hobby << " ";
}
return 0;
}⚡
システムプログラミング
低レベル制御とシステム開発
メモリ管理、スマートポインタ、マルチスレッド、ファイルI/O、コンパイル・ビルド、デバッグなどシステムレベルの開発を学びましょう。
学べること
- メモリ管理
- スマートポインタ
- マルチスレッド
- ファイルI/O
- コンパイル・ビルド
- デバッグ
コード例
// スマートポインタでメモリ安全
#include <memory>
#include <iostream>
struct Sensor {
std::string name;
double value;
Sensor(std::string n, double v)
: name(std::move(n)), value(v) {}
~Sensor() { std::cout << name << " 破棄\n"; }
};
int main() {
auto sensor = std::make_unique<Sensor>("温度", 23.5);
std::cout << sensor->name << ": " << sensor->value << std::endl;
// スコープを抜けると自動解放
return 0;
}🚀
応用スキル
モダンC++を使いこなす
テンプレート、STLアルゴリズム、ムーブセマンティクス、デザインパターン、アルゴリズム、C++20の新機能など実践的なスキルを学びましょう。
学べること
- テンプレート
- STLアルゴリズム
- ムーブセマンティクス
- デザインパターン
- アルゴリズム
- C++20
コード例
// テンプレートとコンセプト (C++20)
#include <concepts>
#include <iostream>
template<typename T>
concept Numeric = std::integral<T> || std::floating_point<T>;
template<Numeric T>
T clamp(T value, T low, T high) {
return (value < low) ? low : (value > high) ? high : value;
}
int main() {
std::cout << clamp(15, 0, 10) << std::endl; // 10
std::cout << clamp(3.14, 0.0, 5.0) << std::endl; // 3.14
return 0;
}