Exceptional C++
240 pages
French
PDF
4.5

Exceptional C++

Exceptional C++

Auteur :

Année :

Résumé :

Introduction

Le livre « Exceptional C++ » (1999) d'Herb Sutter n'est pas un manuel pour débutants, mais un recueil de 50 problèmes d'ingénierie qui vous feront vraiment réfléchir à la manière dont vous écrivez du code en C++. Dans un monde où la fiabilité des logiciels est plus valorisée que la rapidité d'écriture, ce livre reste une référence pour une compréhension approfondie du langage. Sutter ne se contente pas de donner des réponses — il apprend à penser en termes de situations exceptionnelles, de gestion des ressources et de conception d'interfaces résistantes aux erreurs.

Bien que le livre soit paru il y a plus de 20 ans, ses idées (RAII, garanties d'exceptions, pointeurs intelligents) sont devenues le fondement du C++ moderne (C++11 et versions ultérieures). Si vous voulez cesser d'avoir peur des exceptions et commencer à écrire du code qui ne « plante pas » au pire moment — ce livre est pour vous.

De quoi parle le livre

« Exceptional C++ » est construit au format « question-réponse » (problème — solution — analyse). Chaque chapitre est un aspect distinct de la programmation fiable :

  • Exceptions et sécurité : comment écrire des fonctions qui ne fuient pas de ressources et laissent les objets dans un état cohérent même en cas d'erreurs.
  • RAII (Resource Acquisition Is Initialization) : pourquoi c'est l'idiome principal du C++ et comment l'appliquer pour gérer la mémoire, les fichiers, les mutex.
  • Patrons et programmation générique : subtilités de l'instanciation, de la spécialisation partielle, du SFINAE.
  • Héritage et polymorphisme : comment concevoir correctement des hiérarchies de classes sans violer le principe de substitution de Liskov.
  • Gestion de la mémoire : opérateurs new/delete, placement new, surcharge d'opérateurs.
  • Conception d'interfaces : comment créer une API difficile à utiliser incorrectement.

Pour qui est ce livre

Le livre est destiné aux programmeurs C++ ayant déjà de l'expérience (au moins 1 à 2 ans de développement actif). Il sera utile :

  • Aux développeurs qui souhaitent écrire du code de production fiable.
  • À ceux qui se préparent à des entretiens techniques (les problèmes du livre sont souvent rencontrés chez Google, Microsoft, Yandex).
  • Aux enseignants et mentors cherchant des exemples à analyser en séminaire.
  • À tous ceux qui veulent comprendre le « pourquoi » derrière les idiomes standards du C++, et pas seulement le « comment ».

Ce que le lecteur apprendra

Après la lecture, vous serez capable de :

  • Formuler et vérifier les garanties d'exceptions (de base, forte, nothrow) pour vos fonctions.
  • Utiliser correctement std::auto_ptr (et ses équivalents modernes unique_ptr/shared_ptr) pour la gestion automatique des ressources.
  • Éviter les pièges lors de la surcharge d'opérateurs (notamment operator= et operator[]).
  • Concevoir des classes qui fonctionnent correctement dans les conteneurs STL.
  • Comprendre quand et comment utiliser mutable, volatile, const_cast sans nuire à l'architecture.
  • Écrire des fonctions patron qui n'explosent pas lors de la substitution de types inappropriés (SFINAE).
  • Implémenter l'idiome copy-and-swap pour une affectation sécurisée.

Points forts

  • Profondeur et aspect pratique. Chaque problème est un vrai défi issu de l'expérience de l'auteur. Vous ne trouverez pas d'exemples abstraits du genre « chat-chien ».
  • Format « question-réponse ». On peut lire à partir de n'importe quel chapitre. Idéal pour les pauses — 15 minutes par problème.
  • Accent sur le « pourquoi ». Sutter explique non seulement la bonne solution, mais aussi la motivation : pourquoi les autres options sont mauvaises, quels compromis existent.
  • Style d'écriture. Vivant, avec une pointe d'humour et d'auto-dérision. Le livre ne ressemble pas à un manuel aride.
  • Valeur intemporelle. Même à l'ère du C++20/23, les principes du RAII et de la sécurité des exceptions restent inchangés. Le livre enseigne les fondamentaux qui ne se démodent pas.

À qui est recommandé

Recommendations