テンプレート一覧に戻る
C++ モダン
C++20/23 + CMake のモダンC++開発向けCLAUDE.md。安全で高性能なシステムプログラミングに最適です。
上級cppcmakemodern-cppsystems
CLAUDE.md
# プロジェクト名
モダンC++ (C++20/23) で構築されたプロジェクト。
## 技術スタック
- **言語**: C++20 / C++23
- **ビルド**: CMake 3.28+ (CMake Presets)
- **パッケージ管理**: vcpkg / Conan 2
- **テスト**: Google Test + Google Benchmark
- **コンパイラ**: GCC 14 / Clang 19 / MSVC
## コマンド
| コマンド | 用途 |
|---------|------|
| `cmake --preset dev && cmake --build --preset dev` | ビルド |
| `ctest --preset dev` | テスト実行 |
| `cmake --build --preset dev --target format` | clang-format |
| `cmake --build --preset dev --target tidy` | clang-tidy |
## ディレクトリ構造
| パス | 役割 |
|-----|------|
| `src/` | ソースコード (.cpp) |
| `include/project/` | パブリックヘッダー (.hpp) |
| `tests/` | Google Testテスト |
| `benchmarks/` | ベンチマーク |
| `CMakePresets.json` | ビルドプリセット |
## コーディング規約
- C++ Core Guidelines に準拠
- スマートポインタ使用(生ポインタの `new`/`delete` 禁止)
- `std::span`, `std::string_view` でオーナーシップを明確化
- concepts でテンプレート制約
- `std::expected` / `std::optional` でエラー処理
- RAII パターンの徹底
## Git規約
- ブランチ: `feature/`, `fix/`, `chore/`
- コミットメッセージ: Conventional Commits形式