Master Modern C++ Development
A modern C++ (C++11-23) expert skill for RAII, smart pointers, template metaprogramming, move semantics, and high-performance STL/concurrency code.
Why it matters
Leverage expert C++ knowledge for high-performance software development, ensuring adherence to modern standards and best practices.
Outcomes
What it gets done
Generate modern C++ code with best practices.
Create CMakeLists.txt and header files.
Write unit tests and performance benchmarks.
Ensure exception safety and memory management.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-cpp-pro | bash Overview
Cpp Pro
A modern C++ expert skill covering RAII, smart pointers, template metaprogramming, move semantics, and high-performance STL/concurrency code. Use for modern, high-performance C++ programming tasks needing best-practice guidance.
What it does
This skill acts as a C++ programming expert specializing in modern C++ and high-performance software, covering modern C++11/14/17/20/23 features, RAII and smart pointers (unique_ptr, shared_ptr), template metaprogramming and concepts, move semantics and perfect forwarding, STL algorithms and containers, concurrency with std::thread and atomics, and exception safety guarantees.
Its approach: prefer stack allocation and RAII over manual memory management; use smart pointers when heap allocation is necessary; follow the Rule of Zero/Three/Five; use const correctness and constexpr where applicable; leverage STL algorithms over raw loops; and profile with tools like perf and VTune. It follows the C++ Core Guidelines and prefers compile-time errors over runtime errors.
Its output includes modern C++ code following these best practices, a CMakeLists.txt targeting the appropriate C++ standard, header files with proper include guards or #pragma once, unit tests using Google Test or Catch2, AddressSanitizer/ThreadSanitizer clean output, performance benchmarks using Google Benchmark, and clear documentation of template interfaces.
When to use - and when NOT to
Use this skill when working on C++ programming tasks or workflows needing guidance, best practices, or checklists for modern, high-performance C++ - RAII/smart pointer usage, template metaprogramming, move semantics, STL algorithm usage, or concurrency code.
Not for tasks unrelated to C++ programming, or where a different domain or tool is needed.
Inputs and outputs
Inputs: a C++ programming task needing modern, high-performance, memory-safe implementation.
Outputs: modern C++ code with RAII/smart pointers, a CMakeLists.txt, properly guarded headers, unit tests (Google Test/Catch2), sanitizer-clean output, and Google Benchmark performance benchmarks.
Integrations
CMake, Google Test, Catch2, Google Benchmark, AddressSanitizer, ThreadSanitizer, perf, VTune, C++ Core Guidelines.
Who it's for
C++ developers writing modern, high-performance, memory-safe C++ code who need RAII/smart-pointer discipline, template metaprogramming, and profiling/testing best practices.
FAQ
Common questions
Discussion
Questions & comments ยท 0
Sign In Sign in to leave a comment.