| name | cpp |
| description | Modern C++ best practices with C++17/20 features. Trigger: When writing C++ code with modern standards.
|
| license | Apache-2.0 |
| metadata | {"author":"poletron","version":"1.0","scope":["root"],"auto_invoke":"Working with cpp"} |
| Use this skill when | ["Writing C++17/20 code","Managing memory with smart pointers","Using STL containers and algorithms","Implementing RAII patterns"] |
Critical Patterns
Smart Pointers (REQUIRED)
auto user = std::make_unique<User>("John");
auto shared = std::make_shared<Config>();
User* user = new User("John");
delete user;
RAII (REQUIRED)
class FileHandle {
std::fstream file_;
public:
FileHandle(const std::string& path) : file_(path) {}
~FileHandle() { if (file_.is_open()) file_.close(); }
};
Modern Patterns (REQUIRED)
auto items = std::vector<int>{1, 2, 3};
for (const auto& item : items) {
process(item);
}
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