cpp について
cppは、スマートポインター、RAII、現代的な言語パターンを中心とするC++コーディングガイドのスキルです。標準ライブラリ型の選択ガイドとビルドコマンド例も含みます。
主な機能
- 01スマートポインターによる所有権管理
- 02RAIIによるリソース管理
- 03現代的なC++のパターン
- 04標準型の選択ガイド
- 05g++、clang++、CMakeのコマンド
活用シーン
- 01所有権に応じたポインター型の選択
- 02RAIIを使ったリソース管理
- 03記載されたコマンドによるC++プロジェクトのビルド
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ odjaramillo/ custom-rules --skill cppインストール後、Claude Code で/cppを入力して読み込まれたか確認します。
README(原文)English
プロジェクトの README よりこの README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。
Critical Patterns
Smart Pointers (REQUIRED)
// ✅ ALWAYS: Use smart pointers
auto user = std::make_unique<User>("John");
auto shared = std::make_shared<Config>();
// ❌ NEVER: Raw new/delete
User* user = new User("John");
delete user;
RAII (REQUIRED)
// ✅ ALWAYS: Resource management through constructors/destructors
class FileHandle {
std::fstream file_;
public:
FileHandle(const std::string& path) : file_(path) {}
~FileHandle() { if (file_.is_open()) file_.close(); }
};
Modern Patterns (REQUIRED)
// ✅ Use auto for type deduction
auto items = std::vector<int>{1, 2, 3};
// ✅ Use range-based for loops
for (const auto& item : items) {
process(item);
}
// ✅ Use structured bindings
auto [name, age] = getPerson();
Decision Tree
Need unique ownership? → std::unique_ptr
Need shared ownership? → std::shared_ptr
Need optional value? → std::optional
Need multiple types? → std::variant
Need string views? → std::string_view
Commands
g++ -std=c++20 -Wall -Wextra main.cpp -o app
clang++ -std=c++20 main.cpp -o app
cmake -B build && cmake --build build
コメント
Markdown 対応