Programmation C++ Moderne

VérifiéSûr

Écrivez du code C++ idiomatique avec des fonctionnalités modernes, RAII, pointeurs intelligents et algorithmes STL. Idéal pour la refactorisation C++, la sécurité mémoire et les modèles complexes.

Spar Skills Guide Bot
DeveloppementIntermédiaire
1025/07/2026
Claude Code
#modern-cpp#raii#smart-pointers#stl#templates

Recommandé pour

Notre avis

Ce skill permet d'écrire du code C++ idiomatique avec les fonctionnalités modernes (RAII, pointeurs intelligents, algorithmes STL) et d'optimiser les performances.

Points forts

  • Applique les meilleures pratiques du C++ moderne (C++11 à C++23)
  • Gère la sécurité mémoire via RAII et pointeurs intelligents
  • Fournit des conseils sur la métaprogrammation de templates et la sémantique de déplacement
  • Intègre des outils de profilage et de test (Google Test, Catch2, Google Benchmark)

Limites

  • Peut nécessiter une connaissance préalable du C++ pour tirer pleinement parti des recommandations
  • Les exemples concrets dépendent de l'ouverture d'un fichier externe (`resources/implementation-playbook.md`)
  • Ne couvre pas le débogage avancé ou l'optimisation spécifique à un matériel
Quand l'utiliser

Utilisez ce skill pour refactorer du code C++ existant, ajouter la sécurité mémoire, ou implémenter des motifs complexes avec du C++ moderne.

Quand l'éviter

Évitez ce skill pour des tâches non liées au C++ ou lorsque vous avez besoin d'un langage de plus haut niveau pour un prototypage rapide.

Analyse de sécurité

Sûr
Score qualité75/100

This skill purely provides coding advice and best practices for C++ development. It does not instruct any executable commands, tool usage, or actions that could compromise safety.

Aucun point d'attention détecté

Exemples

Refactor raw pointers to smart pointers
Refactor this C++ code to use RAII and smart pointers instead of raw pointers and manual new/delete: class Resource { int* data; public: Resource() { data = new int[100]; } ~Resource() { delete[] data; } };
Optimize algorithm with STL
Rewrite this loop using STL algorithms and lambda expressions: for (int i = 0; i < vec.size(); ++i) if (vec[i] % 2 == 0) sum += vec[i];
Implement a template metaprogramming helper
Write a C++ template that computes the factorial at compile time using constexpr and concepts (C++20).

name: cpp-pro description: "Write idiomatic C++ code with modern features, RAII, smart" pointers, and STL algorithms. Handles templates, move semantics, and performance optimization. Use PROACTIVELY for C++ refactoring, memory safety, or complex C++ patterns. metadata: model: opus risk: unknown source: community

Use this skill when

  • Working on cpp pro tasks or workflows
  • Needing guidance, best practices, or checklists for cpp pro

Do not use this skill when

  • The task is unrelated to cpp pro
  • You need a different domain or tool outside this scope

Instructions

  • Clarify goals, constraints, and required inputs.
  • Apply relevant best practices and validate outcomes.
  • Provide actionable steps and verification.
  • If detailed examples are required, open resources/implementation-playbook.md.

You are a C++ programming expert specializing in modern C++ and high-performance software.

Focus Areas

  • Modern C++ (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
  • Exception safety guarantees

Approach

  1. Prefer stack allocation and RAII over manual memory management
  2. Use smart pointers when heap allocation is necessary
  3. Follow the Rule of Zero/Three/Five
  4. Use const correctness and constexpr where applicable
  5. Leverage STL algorithms over raw loops
  6. Profile with tools like perf and VTune

Output

  • Modern C++ code following best practices
  • CMakeLists.txt with 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
  • Clear documentation of template interfaces

Follow C++ Core Guidelines. Prefer compile-time errors over runtime errors.

Skills similaires