Passer aux informations sur le produit
C++ efficace
C++ efficace
Description
indice
Préface du traducteur
préface
Note du réviseur
Note du lecteur bêta
Principes de fonctionnement et terminologie
Bonjour à tous

Chapitre 1 : Lorsque vous abordez le C++, suivez les règles du C++.
Point 1 : Il est essentiel de considérer le C++ comme une union de langages.
Point 2 : Lorsque vous utilisez #define, pensez à const, enum et inline.
Point 3 : Si vous en voyez des signes, essayez d’utiliser const !
Point 4 : Initialisez toujours un objet avant de l’utiliser.

Chapitre 2 Constructeurs, destructeurs et opérateurs d'affectation
Point 5 : Soyez attentif aux fonctions que C++ crée et appelle secrètement.
Point 6 : Si vous n’avez pas besoin des fonctions générées par le compilateur, évitez absolument de les utiliser.
Point 7 : Dans les classes de base avec polymorphisme, déclarez toujours le destructeur comme virtuel.
Point 8 : Empêcher les exceptions de quitter le destructeur.
Point 9 : N’appelez jamais de fonctions virtuelles lors de la création ou de la destruction d’un objet.
Point 10 : Que l’opérateur d’affectation renvoie une référence à *this.
Point 11 : Assurez-vous que l’auto-affectation n’est pas omise dans l’opérateur =.
Point 12 : Copiez toutes les parties d'un objet sans exception.

Chapitre 3 Gestion des ressources
Point 13 : Arrêtez d’utiliser des objets pour la gestion des ressources !
Point 14 : Examinez sérieusement le comportement de copie des classes de gestion des ressources.
Point 15 : S’assurer que les ressources gérées par les classes de gestion des ressources sont accessibles depuis l’extérieur.
Point 16 : Veillez à utiliser le formulaire correct lorsque vous utilisez les fonctions « nouveau » et « supprimer ».
Point 17 : Faites de la ligne de code qui stocke un objet créé avec new dans un pointeur intelligent une instruction séparée.

Chapitre 4 Conception et déclaration
Point 18 : Concevoir une interface facile à utiliser correctement, difficile à utiliser incorrectement.
Point 19 : Traitez la conception des classes de la même manière que la conception des caractères.
Point 20 : Il est généralement préférable de passer une constante par référence plutôt que par valeur.
Point 21 : Lorsque vous devez renvoyer un objet depuis une fonction, n’essayez pas de renvoyer une référence.
Point 22 : N’oubliez pas que les membres de données sont déclarés dans des zones privées.
Point 23 : Soyez plus proche des fonctions non membres et non amies que des fonctions membres.
Point 24 : Déclarez une fonction non membre si une conversion de type doit être appliquée à tous les paramètres.
Point 25 : Envisager la prise en charge d’un swap qui ne génère pas d’exceptions.

Chapitre 5 Mise en œuvre
Point 26 : Veillez à retarder autant que possible la définition des variables.
Article 27 : Le casting, c’est avant tout économiser ! N’oubliez pas.
Point 28 : Évitez le code qui renvoie des « identifiants » vers des objets utilisés en interne.
Point 29 : Battons-nous encore et encore pour le jour où une sécurité exceptionnelle sera assurée !
Point 30 : Comprendre en détail les fonctions en ligne.
Point 31 : Minimiser les dépendances de compilation entre les fichiers.

Chapitre 6 Héritage et conception orientée objet
Point 32 : Assurez-vous que les modèles d’héritage publics suivent la syntaxe « est un(...est une sorte de...) »
Point 33 : Évitez de dissimuler les noms hérités.
Point 34 : Comprendre et distinguer la différence entre l’héritage d’interface et l’héritage d’implémentation.
Point 35 : Prenez l’habitude de réfléchir de temps à autre à des alternatives aux fonctions virtuelles.
Point 36 : Ne redéfinissez jamais les fonctions non virtuelles héritées dans les classes dérivées !
Point 37 : Ne jamais remplacer les valeurs par défaut héritées des paramètres d'une fonction.
Point 38 : Utilisez la composition d’objets lors de la modélisation de « a un » ou « est implémenté en termes de »
Point 39 : Utilisez l'héritage privé avec discernement.
Point 40 : Utilisez l'héritage multiple avec discernement.

Chapitre 7 : Modèles et programmation générique
Article 41 : Le voyage de la programmation par modèles commence par des interfaces implicites et un polymorphisme à la compilation.
Point 42 : Comprendre les deux significations du nom de type
Point 43 : Savoir comment accéder aux noms dans les classes de base modèles.
Point 44 : Séparer le code indépendant des paramètres des modèles.
Article 45 : Les modèles de fonctions membres sont un raccourci pour accepter « n’importe quel type compatible » !
Point 46 : Définir les fonctions non membres à l’intérieur des modèles de classe lorsque la conversion de type est souhaitable.
Point 47 : Utilisez une classe de traits si vous avez besoin d’informations sur un type.
Point 48 : Métaprogrammation par modèles, pourquoi pas ?

Chapitre 8 : Nouveaux et suppressions à mon gré
Point 49 : Comprendre le fonctionnement du nouveau gestionnaire
Point 50 : Savoir quand remplacer un élément et en supprimer un pour obtenir un meilleur son
Point 51 : Soyez attentif aux conventions établies lors de la rédaction de nouvelles commandes et de suppressions.
Point 52 : Si vous écrivez une instruction new positionnelle, préparez également une instruction delete positionnelle.

Chapitre 9 Autres histoires
Point 53 : Ne pas ignorer les avertissements du compilateur.
Point 54 : Familiarisez-vous avec les composants de la bibliothèque standard, y compris TR1.
Article 55 : Boo-Ja-I-Know ! Boost est toujours à proximité.

Annexe A : Témoignages suite à « Effective C++ »
Annexe B : Tableau de correspondance des articles des deuxième et troisième éditions

Recherche
SPÉCIFICATIONS DES PRODUITS
- Date de publication : 26 mars 2015
- Nombre de pages, poids, dimensions : 424 pages | 210 × 297 × 30 mm
- ISBN13 : 9791195444946
- ISBN10 : 119544494X

Vous aimerez peut-être aussi

카테고리