Developpez.com - C++
X

Choisissez d'abord la catégorieensuite la rubrique :


Exceptional C++

Date de publication : 08/05/2006 , Date de mise à jour : 27/03/2008

Par Matthieu Brucher (http://matthieu-brucher.developpez.com/) (Blog)
 

Critique d'Exceptional C++ d'Herb Sutter

I. Description
II. Table des matières
III. Critique : Indispensable
IV. Liens annexes


I. Description

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 oeuvre, ...


II. Table des matières


III. Critique : Indispensable

La note maximale est largement méritée pour ce livre très agréable à lire et pour les explications claires. Certaines parties permettent de répondre à des questions qu'on a pu se poser, par exemple les chapitres sur les namespaces pour la résolution des fonctions à utiliser. D'autres abordent le problème des fuites mémoire. Les templates sont abordés pragmatiquement et on a une idée immédiate de leur puissance mais aussi des problèmes qu'ils peuvent apporter. Un accent est mis sur l'inutilité de l'optimisation aveugle, c'est un point à souligner et qui montre une fois de plus que Sutter maîtrise parfaitement son sujet.

Le livre a été modifié par rapport aux questions/réponses sur le net afin d'être conforme au standard C++. 2 suites sont aussi sorties. Sans doute LE livre pour arrêter de programmer en C avec du C++.


IV. Liens annexes

info Critique sur la page de livres C++
info Achat sur Amazon.fr
info Lien vers le site de l'éditeur


Valid XHTML 1.1!Valid CSS!

Copyright © 2006 Matthieu Brucher. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Contacter le responsable de la rubrique C++