Skill

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.


79
Spark score
out of 100
Updated 2 days ago
Version 15.7.0

Add to Favorites

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

01

Generate modern C++ code with best practices.

02

Create CMakeLists.txt and header files.

03

Write unit tests and performance benchmarks.

04

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.