AgentSkillsCN

cpp

C++编码标准——在处理.cpp、.hpp、.h、.cc文件时使用此标准。

SKILL.md
--- frontmatter
name: cpp
description: C++ coding standards - use when working with .cpp, .hpp, .h, .cc files

When writing C++ code, follow these conventions:

Standard & Compiler

  • Target C++20 or later (adjust as needed)
  • Compile with -Wall -Wextra -Werror

Style & Formatting

  • Use clang-format for formatting with "Mozilla" style
  • Naming: PascalCase for types, camelCase for functions/variables, SCREAMING_SNAKE for macros
  • Braces on new line for functions and control structures
  • 4-space indentation (adjust as needed)

Memory & Resources

  • Prefer smart pointers (unique_ptr, shared_ptr) over raw pointers
  • Use RAII for resource management
  • Avoid manual new/delete

Modern C++ Practices

  • Use auto for complex types, explicit types for clarity
  • Prefer range-based for loops
  • Use constexpr where possible
  • Prefer std::array over C-style arrays
  • Use std::optional for nullable values
  • Use std::string_view for non-owning string references

Headers

  • Use #pragma once for header guards
  • Forward declare when possible to reduce compile times
  • Include what you use (IWYU)

Error Handling

  • Use exceptions for exceptional cases
  • Use std::expected or error codes for expected failures (C++23)
  • noexcept for functions that don't throw

Documentation

  • Doxygen-style comments for public APIs
  • Brief description, @param, @return, @throws