Exceptional C++
47 Engineering Puzzles, Programming Problems, and Solutions



Une approche ludique à certains problèmes rencontrés en C++, tel est le pari de Herb Sutter . A partir de 47 questions posées sur Internet dans les séries Guru Of The Week auxquelles il invite à répondre soi-même dans un premier temps, il développe ses réponses, pertinentes et précises. Les arcanes du C++ sont abordés afin de pouvoir écrire du code robuste et efficace. Le niveau de difficulté de chaque question est précisé au début de chapitre afin de pouvoir se préparer et à la réflexion et à la réponse.

Le contenu du livre aborde tout d'abord les templates et la STL. Quels sont les risques à créer une classe de chaînes de caractères non sensibles à la casse ? Comment profiter au maximum de la STL ?

Le deuxième bloc de questions concerne les exceptions. Quand peut-on lancer une exception, quelles sont les exceptions que l'on peut lancer à quel moment, utiliser du code qui ne lancera jamais d'exception, ... Sans doute la partie du C++ la moins mise en valeur et la moins travaillée par chacun, les exceptions ne fonctionnent pas toujours comme on l'espère, et ces différences sont exposées dans ce livre.

La troisième partie concerne l'héritage et l'écriture élégante d'un design. Comment doit-on hériter et dans quelles proportions ? Devrait-on hériter plus souvent on peut-on s'en passer plus souvent qu'on ne le pense ?

Avec l'avènement de la STL, les temps de compilation ont augmenté. Est-il possible de les diminuer ? Comment peut-on le faire avec des idiomes nouveaux ?

Une partie est consacrée au principe de Koenig, le Koening lookup , qui permet de résoudre des recherches de fonctions, mais ce principe n'est pas très connu, il mérite à le devenir plus.

Les trois dernières parties sont consacrées à la vie des variables et donc aussi à la gestion de la mémoire. Petit accent sur les nouvelles possibilités du C++, les std::auto_ptr, les initialisations de variables locales aux classes, les durées de vie, les conversions, ... Est aussi abordé le mot-clé const et son utilité, les casts, le type bool, sa vie, son œuvre, ...

[Lire la suite]