Book description
Le C++ 11 et plus encore le C++ 14 sont des évolutions significatives du langage C++. Cet ouvrage vous aidera non seulement à découvrir ce qui a changé, mais aussi à écrire du code qui soit correct, efficace, facile à maintenir et à porter. Son objectif n’est pas de décrire ce que vous devez faire ou ne pas faire, mais de vous apporter une compréhension en profondeur du fonctionnement de C++11 et de C++14. Il est structuré en 42 conseils qui vous enseigneront à la fois les bonnes pratiques et les pièges à éviter. Vous voulez : comprendre les différentes formes de déduction de type, savoir quand (ne pas) utiliser les déclarations auto, découvrir pourquoi les fonctions membres const doivent être sûres vis-à-vis des threads, apprendre à implémenter l’idiome Pimpl avec std::unique_ptr, comprendre pourquoi éviter le mode de capture par défaut dans les expressions lambda, assimiler les différences entre std::atomic et volatile. Toutes les réponses se trouvent ici. Elles sont indépendantes de la plate-forme et conformes à la norme. Cet ouvrage présente un C++ portable.
Table of contents
- Avant-propos
- Introduction
- Chapitre 1. Déduction de type
- Chapitre 2. auto
-
Chapitre 3. Vers un C++ moderne
- Conseil n° 7. Différencier () et {} lors de la création des objets objets:création avec () et {}
- Conseil n° 8. Préférer nullptr à 0 et à NULL
- Conseil n° 9. Préférer les déclarations d’alias aux typedef
- Conseil n° 10. Préférer les enum délimités aux enum non délimités
- Conseil n° 11. Préférer les fonctions supprimées aux fonctions indéfinies privées fonctions supprimées
- Conseil n° 12. Déclarer les fonctions de substitution avec override
- Conseil n° 13. Préférer les const_iterator aux iterator
- Conseil n° 14. Déclarer noexcept les fonctions qui ne lancent pas d’exceptions
- Conseil n° 15. Utiliser constexpr dès que possible
- Conseil n° 16. Rendre les fonctions membres const sûres vis-à-vis des threads
- Conseil n° 17. Comprendre la génération d’une fonction membre spéciale
-
Chapitre 4. Pointeurs intelligents
- Conseil n° 18. Utiliser std::unique_ptr pour la gestion d’une ressource à propriété exclusive
- Conseil n° 19. Utiliser std::shared_ptr pour la gestion d’une ressource à propriété partagée
- Conseil n° 20. Utiliser std::weak_ptr pour des pointeurs de type std::shared_ptr qui peuvent pendouiller
- Conseil n° 21. Préférer std::make_unique et std::make_shared à une utilisation directe de new
- Conseil n° 22. Avec l’idiome Pimpl, définir des fonctions membres spéciales dans le fichier d’implémentation Pimpl (idiome)
-
Chapitre 5. Références rvalue, sémantique du déplacement et transmission parfaite
- Conseil n° 23. Comprendre std::move et std::forward
- conseil n° 24. Distinguer les références universelles et les références rvalue
- Conseil n° 25. Utiliser std::move sur des références rvalue, std::forward sur des références universelles
- Conseil n° 26. Éviter la surcharge sur les références universelles
- Conseil n° 27. Se familiariser avec les alternatives à la surcharge sur les références universelles
- Conseil n° 28. Comprendre la réduction de référence
- Conseil n° 29. Supposer que les opérations de déplacement sont absentes, onéreuses et inutilisées
- Conseil n° 30. Se familiariser avec les cas d’échec de la transmission parfaite
- Chapitre 6. Expressions lambda
-
Chapitre 7. L’API de concurrence
- Conseil n° 35. Préférer la programmation multitâche plutôt que multithread
- Conseil n° 36. Spécifier std::launch::async si l’asynchronisme est primordial
- Conseil n° 37. Rendre les std::thread non joignables par tous les chemins
- Conseil n° 38. Être conscient du comportement variable du destructeur du descripteur de thread
- Conseil n° 39. Envisager les futurs void pour communiquer ponctuellement un événement
- Conseil n° 40. Utiliser std::atomic pour la concurrence, volatile pour la mémoire spéciale
- Chapitre 8. Finitions
- Index
Product information
- Title: Programmer efficacement en C++
- Author(s):
- Release date: March 2016
- Publisher(s): Dunod
- ISBN: 9782100748464
You might also like
book
Programmer en langage C++
Présentation Acquérir une parfaite maîtrise du C++ et de la programmation objet Au sommaire Programmer en …
book
Programmer avec Java
Un best-seller US enfin traduit en France Ce livre est destiné à éléver l'expérience de tout …
book
Python précis et concis
Python est un langage de programmation "généraliste", multi plate-forme, orienté objet et open source. Il est …
book
Apprendre à programmer avec Python 3
Présentation Un livre incontournable pour acquérir l'exigeante discipline qu'est l'art de la programmation ! Au sommaire …