Cpp

Use when: write or review modern C++ with RAII, smart pointers, and value semantics.

kimtth 2fb0801 1.1 KB Updated

File contents

Goal: safe, modern C++ that manages resources automatically.

Use for:

  • new C++ code or modernizing raw-pointer code
  • reviewing memory management, ownership, and safety
  • replacing new/delete and manual resource handling

Workflow:

  1. Manage resources with RAII; tie lifetime to scope.
  2. Use smart pointers (unique_ptr, shared_ptr) over raw owning pointers.
  3. Prefer value semantics and move where copies are costly.
  4. Use the standard library containers and algorithms.
  5. Mark const correctness and noexcept where applicable.
  6. Verify with tests, sanitizers (ASan/UBSan), and warnings-as-errors.

Idioms:

  • rule of zero; let RAII types manage resources
  • unique_ptr for single ownership, shared_ptr only when shared
  • std::move to transfer, not to micro-optimize blindly
  • range-based loops and algorithms over index loops

Rules:

  • no naked new/delete in application code
  • pass by const reference for non-trivial reads
  • run with sanitizers to catch UB and leaks
  • prefer the standard library before hand-rolling

kimtth/agent-skill-100-lines-or-less/tree/main/skills/cpp commit 2fb08011b6

Frequently asked questions

npx skillmds@latest add kimtth/cpp