IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Conception en C++

11 livres et 10 critiques, dernière mise à jour le 14 octobre 2022 , note moyenne : 4.5

  1. C++ Templates: The Complete Guide - 2e Édition
  2. Standards de programmation en C++
  3. Modern C++ Design - Generic Programming and Design Patterns Applied
  4. Programmation en C++ et génie logiciel
  5. C++ - la synthèse - Concepts objet,standard ISO et modélisation UML
  6. C++ Template Metaprogramming : Concepts, Tools, and Techniques from Boost and Beyond
  7. Pour mieux développer avec C++ - design patterns, STL, RTTI et smart pointers
  8. Le C++ efficace - Cinquante règles de conception
  9. Effective C++ (3ème édition) - 55 Specific Ways To Improve Your Programs And Designs
  10. C++ Templates: The Complete Guide
  11. C++ pour les programmeurs C - 6ème Édition
couverture du livre C++ Templates: The Complete Guide

drapeau
Détails du livre
Sommaire
Critiques (0)
0 commentaire
 
 

C++ Templates: The Complete Guide

2e Édition

de
Public visé : Intermédiaire

Résumé de l'éditeur

Templates are among the most powerful features of C++, but they remain misunderstood and underutilized, even as the C++ language and development community have advanced. In C++ Templates, Second Edition, three pioneering C++ experts show why, when, and how to use modern templates to build software that’s cleaner, faster, more efficient, and easier to maintain.

Now extensively updated for the C++11, C++14, and C++17 standards, this new edition presents state-of-the-art techniques for a wider spectrum of applications. The authors provide authoritative explanations of all new language features that either improve templates or interact with them, including variadic templates, generic lambdas, class template argument deduction, compile-time if, forwarding references, and user-defined literals. They also deeply delve into fundamental language concepts (like value categories) and fully cover all standard type traits.

The book starts with an insightful tutorial on basic concepts and relevant language features. The remainder of the book serves as a comprehensive reference, focusing first on language details and then on coding techniques, advanced applications, and sophisticated idioms. Throughout, examples clearly illustrate abstract concepts and demonstrate best practices for exploiting all that C++ templates can do.

  • Understand exactly how templates behave, and avoid common pitfalls
  • Use templates to write more efficient, flexible, and maintainable software
  • Master today’s most effective idioms and techniques
  • Reuse source code without compromising performance or safety
  • Benefit from utilities for generic programming in the C++ Standard Library
  • Preview the upcoming concepts feature


The companion website, tmplbook.com, contains sample code and additional updates.

Édition : Addison Wesley - 832 pages, 2e édition, 8 septembre 2017

ISBN10 : 0321714121 - ISBN13 : 9780321714121

Commandez sur www.amazon.fr :

50.00 € TTC (prix éditeur 0.00 € TTC)
I. The Basics
  • 1. Function Templates
  • 2. Class Templates
  • 3. Nontype Template Parameters
  • 4. Variadic Templates
  • 5. Tricky Basics
  • 6. Move Semantics and enable_if<>
  • 7. By Value or By Reference?
  • 8. Compile-Time Programming
  • 9. Using Templates in Practice
  • 10. Basic Template Terminology
  • 11. Generic Libraries


II. Templates in Depth
  • 12. Fundamentals in Depth
  • 13. Names in Templates
  • 14. Instantiation
  • 15. Template Arguments Deduction
  • 16. Specialization and Overloading
  • 17. Future Directions


III. Templates and Design
  • 18. The Polymorphic Power of Templates
  • 19. Implementing Traits
  • 20. Overloading on Types Properties
  • 21. Templates and Inheritance
  • 22. Bridging Static ans Dynamic Polymorphism
  • 23. Metaprogramming
  • 24. Typelists
  • 25. Tuples
  • 26. Discriminated Unions
  • 27. Expression Templates
  • 28. Debugging Templates


Appendices
  • A. The One-Definition Rule
  • B. Value Categories
  • C. Overload Resolution
  • D. Standard Type Utilities
  • E. Concepts


Bibliography
Glossary
Aucune critique n'a été faite pour l'instant



 Commenter Signaler un problème

Avatar de - https://www.developpez.com
l 29/09/2021 à 22:07
C++ Templates: The Complete Guide
2e Édition


Templates are among the most powerful features of C++, but they remain misunderstood and underutilized, even as the C++ language and development community have advanced. In C++ Templates, Second Edition, three pioneering C++ experts show why, when, and how to use modern templates to build software that’s cleaner, faster, more efficient, and easier to maintain.

Now extensively updated for the C++11, C++14, and C++17 standards, this new edition presents state-of-the-art techniques for a wider spectrum of applications. The authors provide authoritative explanations of all new language features that either improve templates or interact with them, including variadic templates, generic lambdas, class template argument deduction, compile-time if, forwarding references, and user-defined literals. They also deeply delve into fundamental language concepts (like value categories) and fully cover all standard type traits.

The book starts with an insightful tutorial on basic concepts and relevant language features. The remainder of the book serves as a comprehensive reference, focusing first on language details and then on coding techniques, advanced applications, and sophisticated idioms. Throughout, examples clearly illustrate abstract concepts and demonstrate best practices for exploiting all that C++ templates can do.

  • Understand exactly how templates behave, and avoid common pitfalls
  • Use templates to write more efficient, flexible, and maintainable software
  • Master today’s most effective idioms and techniques
  • Reuse source code without compromising performance or safety
  • Benefit from utilities for generic programming in the C++ Standard Library
  • Preview the upcoming concepts feature


The companion website, tmplbook.com, contains sample code and additional updates.

[Lire la suite]



 
couverture du livre Standards de programmation en C++

Note 5 drapeau
Détails du livre
Critiques (1)
0 commentaire
 
 

Standards de programmation en C++

de
Traducteurs : Christine Eberhardt, Dorothée Goliwas
Public visé : Débutant

Résumé de l'éditeur

Utiliser des standards de programmation permet d'améliorer notablement la qualité des logiciels , de réduire les délais de mise sur le marché, de rendre le travail d'équipe plus efficace, et, d'éliminer le temps perdu sur des sujets sans importance. Deux des experts les plus respectés en matière de C++ distillent dans ce livre de précieux conseils éprouvés par l'ensemble de la communauté réunie autour de ce langage, afin que chaque programmeur puisse à son tour acquérir les bons réflexes pour devenir plus performant.

Les auteurs abordent ici les principaux aspects de la programmation en C++ : styles de conception et de programmation, fonctions, opérateurs, conception des classes, héritage construction/destruction, copie, tâche, espaces de noms, modules, modèles, généricité, exceptions, conteneurs et algorithmes STL etc. Chaque standard présenté est décrit avec précision et illustré par des exemples pertinents. De la définition des types à la gestion des erreurs ce livre présente les meilleures pratiques à mettre en ?vre lorsque l'on programme en C++ y compris certaines techniques mises au point très récemment.

Édition : Pearson Education - 243 pages, 1er août 2005

ISBN10 : 2744071447 - ISBN13 : 978744071447

Commandez sur www.amazon.fr :

20.90 € TTC (prix éditeur 22.00 € TTC) livraison gratuite !
Critique du livre par la rédaction marchanddesable le 13 juin 2006
J'ai un projet à réaliser en C++. Comment m'organiser ? Quel stratégie adopter ? Quels sont les pièges et les erreurs à éviter ? Des questions que nous nous sommes tous posés (à moins de développer à la sauvage). Cet ouvrage répond à ces questions et à bien d'autres que peuvent se poser les développeurs, quel que soit leur niveau. C'est aussi un ouvrage de référence indispensable pour les chefs d'équipe qui pourront se servir de ce livre pour fixer les règles de développement en ayant une légitimité incontestable.
Style de conception, style de programmation, héritage, construction, destruction, idiomes (RAII, pimpl), espace de noms, module, généricité, exception, STL (conteneurs et algorithme)... Autant de points sur lesquels les auteurs nous apportent leurs conseils afin de programmation proprement, efficacement et sûrement.
Le livre est composé de 100 Articles organisés autour de 12 problématiques. Le débutant y découvrira beaucoup de choses intéressantes, rarement explicitées en cours ou dans les livres sur le langage C++, et pourra approfondir ses connaissances du développement avec le C++. L'expérimenté pourra corriger de mauvaises habitudes prises lors de son apprentissage et découvrir des pièges de sioux à éviter .
En bref, tout le monde peut trouver son compte avec cet ouvrage délivrant des conseils très pertinents, fruits de la mise en commun des expériences des grands du développement C++, pour standardiser ses codes et prendre les bons réflexes de programmation. Les articles sont agrémentés d'exemples (illustrés ou non de morceaux de codes) et d'exceptions (que serait une règle sans exception ?).




 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:08
Standards de programmation en C++


Utiliser des standards de programmation permet d'améliorer notablement la qualité des logiciels , de réduire les délais de mise sur le marché, de rendre le travail d'équipe plus efficace, et, d'éliminer le temps perdu sur des sujets sans importance. Deux des experts les plus respectés en matière de C++ distillent dans ce livre de précieux conseils éprouvés par l'ensemble de la communauté réunie autour de ce langage, afin que chaque programmeur puisse à son tour acquérir les bons réflexes pour devenir plus performant.

Les auteurs abordent ici les principaux aspects de la programmation en C++ : styles de conception et de programmation, fonctions, opérateurs, conception des classes, héritage construction/destruction, copie, tâche, espaces de noms, modules, modèles, généricité, exceptions, conteneurs et algorithmes STL etc. Chaque standard présenté est décrit avec précision et illustré par des exemples pertinents. De la définition des types à la gestion des erreurs ce livre présente les meilleures pratiques à mettre en ?vre lorsque l'on programme en C++ y compris certaines techniques mises au point très récemment.

[Lire la suite]



 
couverture du livre Modern C++ Design

Note 5 drapeau
Détails du livre
Critiques (1)
0 commentaire
 
 

Modern C++ Design

Generic Programming and Design Patterns Applied

de
Public visé : Intermédiaire

Résumé de l'éditeur

Dans Modern C++ Design , Andrei Alexandrescu ouvre de nouvelles voies pour les programmeurs C++. Montrant une créativité et une virtuosité extraordinaires, Alexandrescu offre une approche de premier ordre au design logiciel, unifiant les design patterns, la programmation générique et le C++, ce qui permet aux programmeurs de créer du code expressif, flexible et hautement réutilisable. Le livre introduit le concept de composants génériques, de patrons de design réutilisables qui permettent une transition plus simple et plus intuitive du design au code d'une application, de générer du code qui exprime mieux l'intention du design original, et de supporter la réutilisation de structures de design avec un recodage minimal. L'auteur poursuit en montrant comment appliquer cette approche à des questions récurrentes du monde réel que les programmeurs C++ rencontrent dans leur activité de tous les jours.

La totalité du code est disponible sur le Web, ainsi que la bibliothèque C++ Loki d'Alexandrescu qui propose de puissantes fonctionalités pour presque n'importe quel projet C++.

Édition : Addison-Wesley Professional - 352 pages, 1re édition, 1er février 2001

ISBN10 : 0201704315 - ISBN13 : 9780201704310

Commandez sur www.amazon.fr :

43.92 € TTC (prix éditeur 43.92 € TTC) livraison gratuite !
Critique du livre par la rédaction glayag le 19 janvier 2007
Tous les exemples proposés sont templatés, en fait à l'extrême. Dans la première partie, Alexandrescu montre ce qu'il appelle des politiques. Des politiques pour faire du code adaptable, par exemple, comment faire un smart pointer dans un cadre mono-threadé et un autre pour du multi-threads sans tout recoder et sans recompilation.
Une grande partie de l'ouvrage est dédié aux typelists et leur usage. Ces structures sont clairement expliquées, et pour une fois, on voit des applications : générer des classes héritant de plusieurs autres classes pour générer des hierarchies, des factories, ... A ce sujet, plusieurs patterns sont exposés et une implémentation type est proposée, templatée, avec des politiques à choisir et donc utilisable facilement.




 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:08
Modern C++ Design
Generic Programming and Design Patterns Applied


Dans Modern C++ Design , Andrei Alexandrescu ouvre de nouvelles voies pour les programmeurs C++. Montrant une créativité et une virtuosité extraordinaires, Alexandrescu offre une approche de premier ordre au design logiciel, unifiant les design patterns, la programmation générique et le C++, ce qui permet aux programmeurs de créer du code expressif, flexible et hautement réutilisable. Le livre introduit le concept de composants génériques, de patrons de design réutilisables qui permettent une transition plus simple et plus intuitive du design au code d'une application, de générer du code qui exprime mieux l'intention du design original, et de supporter la réutilisation de structures de design avec un recodage minimal. L'auteur poursuit en montrant comment appliquer cette approche à des questions récurrentes du monde réel que les programmeurs C++ rencontrent dans leur activité de tous les jours.

La totalité du code est disponible sur le Web, ainsi que la bibliothèque C++ Loki d'Alexandrescu qui propose de puissantes fonctionalités pour presque n'importe quel projet C++.

[Lire la suite]



 
couverture du livre Programmation en C++ et génie logiciel

Note 3.5 drapeau
Détails du livre
Sommaire
Critiques (1)
2 commentaires
 
 

Programmation en C++ et génie logiciel

de
Public visé : Débutant

Résumé de l'éditeur

L'apprentissage de la programmation en langage C++ recouvre deux éléments essentiels : l'un est lié à l'apprentissage du langage en lui-même (les instructions et les règles) et l'autre, le génie logiciel, est lié à la façon d'écrire ces instructions pour limiter le nombre de bugs et favoriser un développement propre et efficace du programme.

Dans cet ouvrage, vous trouverez tous les éléments du langage mais également un ensemble de recommandations qui vous guideront dans l'écriture de vos programmes. La première partie est consacrée à la présentation des notions élémentaires du génie logiciel, ces notions étant illustrées ensuite dans le reste de l'ouvrage. La deuxième partie est dédiée à l'apprentissage des éléments de base du langage C++. A partir de là, vous saurez créer des classes, y définir des attributs et des méthodes. La troisième partie présente les mécanismes particuliers du langage : l'amitié, les exceptions, l'héritage, la surcharge, les patrons, le polymorphisme et les flots. De nombreux exemples ponctuent l'apprentissage des notions du cours et des exercices corrigés permettent de confirmer les automatismes acquis. Le code source des exemples est téléchargeable.

Édition : Dunod - 241 pages, 1re édition, 1er mai 2007

ISBN10 : 210050634X - ISBN13 : 9782100506347

Commandez sur www.amazon.fr :

20.90 € TTC (prix éditeur 22.00 € TTC) livraison gratuite !
  • Notions de base sur le génie logiciel
  • Généralités sur le langage C++
  • Les objets
  • Les traitements
  • Les fonctions et les classes amies
  • Les exceptions
  • L'héritage
  • La surcharge
  • Les patrons de fonctions et de classes
  • Introduction au polymorphisme et aux méthodes virtuelles
  • Les flots
Critique du livre par la rédaction Sébastien Doeraene le 24 février 2008
De manière générale, ce livre est un très bon support à l'apprentissage correct du C++. Mais il présente l'inconvénient de supposer la connaissance préalable du C.
En effet, les concepts de base sont totalement ignorés, et les nouveautés introduites en C++ s'enchaînent. Il faut un minimum s'accrocher si l'on ne veut pas perdre pieds. Les exercices proposés en fin d'ouvrage seront un atout inestimable dans cette tâche.
Une autre particularité appréciable de ce livre est son orientation "génie logiciel". Ou comment concevoir proprement un programme, en ne faisant pas qu'exploiter à tous vas les possibilités techniques du langage, sans réfléchir à la maintenance. Plusieurs excellents conseils vont dans ce sens, répartis au fil du livre. On aurait pu en espérer un peu plus, avec peut-être plus d'exemples, et c'est ce qui m'a découragé de mettre un 4,5/5 à ce livre.
A part cela, il est en effet excellent. Autant il introduira rapidement les spécialités du C++, autant il pourra servir a posteriori d'un excellent aide-mémoire des syntaxes parfois compliquées des templates ou de l'héritage multiple. Ce qui n'est pas négligeable.
Je conseillerais cet ouvrage à tout connaisseur du C voulant débuter ou s'améliorer en C++. Il y trouvera son bonheur.
Sébastien Doeraene




 Commenter Signaler un problème

Avatar de Luc Hermitte Luc Hermitte - Expert éminent sénior https://www.developpez.com
l 19/07/2018 à 10:46
Oh. Un déterrage et je me suis fait avoir.

Les commentaires ont toujours été un sujet à débat. Avec d'un côté des qualiticiens non programmeurs généralement dans le camp des "il faut des taux de commentaire de X% -- car c'est une métrique que je peux vérifier automatiquement et que je peux la donner au client". Et de l'autre des développeurs conscients que paraphraser ne rime à rien, que cela fait deux fois plus de boulot, et donc de bugs.

Pour remettre dans le contexte de 2018, je tendrais à dire qu'il est dommage de s"intéresser à un livre de 2007 en 2018 quand entre temps la norme du C++ a connu trois évolutions dont une particulièrement majeure en 2011. Après, si le plan génie logiciels/conception est bon (ce que je ne peux pas juger), le livre pourrait s'avérer intéressant. Il y a quelques vieux livres toujours intéressants malgré leur retard sur la modernisation du C++ avec le RAII (je ne parle même pas du C++11).
Après, là, dans l'extrait sur le site de Dunod, les chaînes de caractères sont des "char*". On part donc de loin!

Je ferai bien de la pub pour un autre livre qui traite de conception en C++, mais après on dira que ce n'est pas un livre qui enseigne le C++, ou que je suis intéressé. ^^'
Avatar de AYNIL AYNIL - Nouveau membre du Club https://www.developpez.com
l 19/07/2018 à 0:38
De ce que j'ai lu, il faudrait vraiment une version à jour, car en 10 ans, les bonnes façons ont vraiment évoluées.

Par exemple, niveau commentaire, il est maintenant conseillé de ne commenter les lignes de code qu'en cas de ligne vraiment complexe, car n'importe quel programmeur comprendra un code bien fait. Par contre il faut faire des entêtes pour les classes, méthodes et fonctions.

Il m'a laissé une assez mauvaise impression de base. Il faudrait une version améliorée et mise à jour.
Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:08
Programmation en C++ et génie logiciel


L'apprentissage de la programmation en langage C++ recouvre deux éléments essentiels : l'un est lié à l'apprentissage du langage en lui-même (les instructions et les règles) et l'autre, le génie logiciel, est lié à la façon d'écrire ces instructions pour limiter le nombre de bugs et favoriser un développement propre et efficace du programme.

Dans cet ouvrage, vous trouverez tous les éléments du langage mais également un ensemble de recommandations qui vous guideront dans l'écriture de vos programmes. La première partie est consacrée à la présentation des notions élémentaires du génie logiciel, ces notions étant illustrées ensuite dans le reste de l'ouvrage. La deuxième partie est dédiée à l'apprentissage des éléments de base du langage C++. A partir de là, vous saurez créer des classes, y définir des attributs et des méthodes. La troisième partie présente les mécanismes particuliers du langage : l'amitié, les exceptions, l'héritage, la surcharge, les patrons, le polymorphisme et les flots. De nombreux exemples ponctuent l'apprentissage des notions du cours et des exercices corrigés permettent de confirmer les automatismes acquis. Le code source des exemples est téléchargeable.

[Lire la suite]



 
couverture du livre C++ - la synthèse

Note 4 drapeau
Détails du livre
Critiques (1)
1 commentaire
 
 

C++ - la synthèse

Concepts objet,standard ISO et modélisation UML

de
Public visé : Débutant

Résumé de l'éditeur

Forts de leur expérience de l'enseignement de C++, les auteurs proposent dans ce livre une approche fondée sur les concepts objet. La démarche pédagogique suivie repose sur l'emploi de nombreux exemples de code et de modèles qui sont progressivement enrichis. Elle offre également un panorama synthétique du standard ISO, insistant sur les points importants et les nouveautés fondamentales. La dernière partie de l'ouvrage présente un cas d'étude ; à cette occasion, les auteurs vont des spécifications à l'implémentation en passant par l'analyse et la conception objet. Bien entendu tous les modèles objet présentés respectent le formalisme UML.

Édition : Dunod - 336 pages, 1re édition, 1er mai 2003

ISBN10 : 2100081926 - ISBN13 : 9782100081929

Commandez sur www.amazon.fr :

29.36 € TTC (prix éditeur 31.90 € TTC) livraison gratuite !
Critique du livre par la rédaction jlambert le 23 janvier 2005
Le premier chapitre permet de prendre connaissance avec le langage. A partir du deuxième chapitre on rentre dans le vif du sujet avec l'étude du constructeur et du destructeur d'un objet, les allocations mémoires etc... L'apprentissage est progressif et assorti de schémas pour compléter les explications. Le chapitre se clôture par des conseils pratiques et même un rappel sur les notions de pile d'exécution et tas d'allocation.
Le chapitre trois reprend les bases du précèdent pour définir une classe fonctionnelle et introduire le modificateur const, la surcharge des opérateurs, l'attribut statique dans une variable, une fonction et plus généralement le mot clef static. Il se conclut par des conseils pour livrer une classe, c'est-à-dire les problèmes inhérents à la compilation avec le fichier d'entête.
Le chapitre quatre étudie le concept d'héritage successivement on trouvera les classes dérivées, l'hiérarchie de classes et classe abstraite, l'héritage multiple, l'héritage virtuel. Le propos est clair progressif et agrémenté de schémas. C'est à partir de ce chapitre que la modélisation UML sera abordée.
Le chapitre cinq parle de généricité et introduit au final la notion de template. Un seul regret toutefois : les auteurs parlent de la STL mais sans l'aborder. Le chapitre six nommé « bien programmer en c++ » liste les erreurs les plus courantes et fournit des conseils pratiques pour améliorer et optimiser le code.
Enfin le chapitre sept traite de l'analyse objet à l'implémentation, ce chapitre permet de se familiariser avec les techniques de modélisations objet en utilisant le formalisme UML. Cette étude s'appuie sur la réalisation d'un petit projet de modélisation du réseau routier.
En résumé : Ce qui m'a plu : ce livre est assurément un bon choix pour les débutants tant par l'approche pédagogique basée sur l'exemple et l'enrichissement progressif des connaissances, que par les conseils prodigués au fil des pages. La présentation UML est aussi un plus ce qui est rare pour ce genre d'ouvrage. Un seul regret toutefois : l'absence d'une présentation de la bibliothèque STL.




 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:08
C++ - la synthèse
Concepts objet,standard ISO et modélisation UML


Forts de leur expérience de l'enseignement de C++, les auteurs proposent dans ce livre une approche fondée sur les concepts objet. La démarche pédagogique suivie repose sur l'emploi de nombreux exemples de code et de modèles qui sont progressivement enrichis. Elle offre également un panorama synthétique du standard ISO, insistant sur les points importants et les nouveautés fondamentales. La dernière partie de l'ouvrage présente un cas d'étude ; à cette occasion, les auteurs vont des spécifications à l'implémentation en passant par l'analyse et la conception objet. Bien entendu tous les modèles objet présentés respectent le formalisme UML.

[Lire la suite]


Avatar de Zhitoune Zhitoune - Membre régulier https://www.developpez.com
l 15/12/2014 à 11:20
J'ai appris le C++ avec! je trouve ce livre très bien fait et très didactique. Au centre de la trame pédagogique se trouve un exemple concret que les auteurs complexifient peu à peu aux fur et à mesure des nouveaux concepts présentés. Chaque nouveau concept est ainsi vu et compris comme nécessaire à la réalisation d'un programme toujours plus complexe mais présentant plus de possibilités . Ce livre peu presque convenir à des débutants en programmation car il commence par la définition et l'affectation de variable et finit par le concept de généricité. s'ensuit alors des chapitres présentant les meilleures pratique de programmation. j'ajoute à ce commentaire la tables de matières (trouvée ici http://www.decitre.fr/livres/c-la-sy...100045150.html) :

TYPE COMPOSE OU CLASSE : DE C A C ++
Quelques éléments du langage
Un premier programme C ++
Structures de contrôle et utilisation des fonctions
La classe " string "
Modularité
Le type abstrait " ville " est insuffisant
Des objets " ville "
Contrôler l'instanciation des objets " ville "
DU CONSTRUCTEUR AU DESTRUCTEUR : LA VIE D'UN OBJET
Constructeurs
Affectation et conversion de type
Allocation dynamique
Destructeur
Constructeur copie
Allouer dynamiquement un objet
UNE CLASSE FONCTIONNELLE : TOUTE LA VIE D'UN OBJET
Le modificateur " const "
Surcharge d'opérateurs
Variables et méthodes de classe
Livrer une classe
L'HERITAGE : ORGANISATION ET REUTILISATION
La classe " polygone "
Une première classe dérivée : Rectangle
Hiérarchie des classes et classe abstraite
Héritage multiple
Héritage virtuel
GENERICITE
Une classe tableau ? Une solution fondée sur une classe de base
Une solution fondée sur les " template "
BIEN PROGRAMMER EN C ++
Erreurs courantes
Rendre votre code robuste
Un code évolutif
Optimiser votre code
DE L'ANALYSE OBJET A L'IMPLEMENTATION
Présentation du problème à modéliser
Analyse objet
Conception objet et implémentation
Test des classes implémentées
Une application graphique.

Bonne lecture

 
couverture du livre C++ Template Metaprogramming : Concepts, Tools, and Techniques from Boost and Beyond

Note 4 drapeau
Détails du livre
Critiques (2)
0 commentaire
 
 

C++ Template Metaprogramming : Concepts, Tools, and Techniques from Boost and Beyond

de
Public visé : Expert

Résumé de l'éditeur

C++ Template Metaprogramming éclaire le développeur C++ sur les différentes techniques qui composent la métaprogrammation. Il vise les programmeurs qui sont à l'aise avec les idiomes de la Standard Template Library. Il montre comment mettre en application les techniques utilisant les templates les plus avancées dans une conception riche et puissante, tout en montrant la discipline à garder lors de l'utilisation de cette technique. Ceux qui ont compris l'esprit de la métaprogrammation mais pour qui la mise en ?vre reste un mystère se verront clarifier tout cela et seront alors capables de s'en servir sans plus aucun problème. De plus, le livre, qui se base beaucoup sur la STL et Boost, est accompagné d'un CDROM contenant toutes les librairies boost dont la libirairie Boost MetaProgramming Library, ainsi que tous les codes sources du livre. Si la conception à l'aide de templates vous est aisée, ce livre vous est destiné.

Édition : Pearson Education - 373 pages, 2e édition, 1er décembre 2004

ISBN10 : 0321227255 - ISBN13 : 9780321227256

Commandez sur www.amazon.fr :

34.98 € TTC (prix éditeur 44.99 € TTC) livraison gratuite !
Critique du livre par la rédaction Alp le 3 mars 2007
Je m'attendais à lire un livre un peu "sec", avec des codes bruts. Cependant j'ai été agréablement surpris par les explications, la progression du niveau au cours de la lecture. Il y a vraiment un énorme pas franchi entre le moment où l'on ouvre le livre, et lorsqu'on finit le livre. Avant de le lire, je connaissais vaguement la métaprogrammation mais cet ouvrage m'a permis de découvrir des techniques et de concevoir de nouveaux types de modules à l'aide de la métaprogrammation, on peut même dire que je conçois différemment mes modules à présent. Si vous utilisez beaucoup les templates, ce livre vous plaira énormément. Pour terminet, je dirai que pour ceux qui sont habituellement assez réticents quant à l'utilisation des templates, ce livre est en quelques sortes un compromis entre des réflexions sur la conception en C++ et des utilisations mûrement réfléchies et adaptées des templates.
Critique du livre par la rédaction glayag le 28 janvier 2008
A réserver aux utilisateurs aguerris des templates. Ce livre est très bien fait, mais il est aussi très compliqué. La métaprogrammation n'est qu'une affaire de type, en fait. La seule chose qu'on puisse faire, c'est faire des calculs dessus. On peut faire des conteneurs de types, on peut supprimer des types, on peut empêcher l'instantiation d'un template - mais ça, c'est presque le plus facile à comprendre ! -
90% du livre est consacrer à exposer les bases de la métaprogrammation en C++. On nous montre beaucoup de choses, des itérateurs, des conteneurs, des trucs, des choses, mais on ne voit pas forcément du tout l'utilité. Celle-ci vient dans les derniers chapitres. Déjà, on parle plus de langages spécifiques à un domaine, des parseurs, des outils du genre. Et puis le seul passage qui m'a vraiment montré ce qu'on pouvait faire : Blitz++. On n'en parle pas beaucoup, mais rien que l'exemple montre qu'effectivement, c'est super puissant. Le seul problème, à mon avis, c'est que ça demande beaucoup de temps à appliquer.
Dans les appendices, on voit aussi la conformité des compilateurs avec le standard C++, le préprocesseur et Boost pour l'aider, on voit les performances du compilateur, ... Une partie est aussi consacrée aux erreurs du compilateur avec les templates et les différences entre les compilateurs. Un point intéressant est aussi les assertions statiques, donc à la compilation.
Dans l'ensemble, ce livre est LA référence de la métaprogrammation et il m'a donné de nouvelles idées à appliquer. Malheureusement, le livre reste compliqué et l'application des idées demande beaucoup de temps - et pour nous et pour le compilateur -.




 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:08
C++ Template Metaprogramming : Concepts, Tools, and Techniques from Boost and Beyond


C++ Template Metaprogramming éclaire le développeur C++ sur les différentes techniques qui composent la métaprogrammation. Il vise les programmeurs qui sont à l'aise avec les idiomes de la Standard Template Library. Il montre comment mettre en application les techniques utilisant les templates les plus avancées dans une conception riche et puissante, tout en montrant la discipline à garder lors de l'utilisation de cette technique. Ceux qui ont compris l'esprit de la métaprogrammation mais pour qui la mise en ?vre reste un mystère se verront clarifier tout cela et seront alors capables de s'en servir sans plus aucun problème. De plus, le livre, qui se base beaucoup sur la STL et Boost, est accompagné d'un CDROM contenant toutes les librairies boost dont la libirairie Boost MetaProgramming Library, ainsi que tous les codes sources du livre. Si la conception à l'aide de templates vous est aisée, ce livre vous est destiné.

[Lire la suite]



 
couverture du livre Pour mieux développer avec C++

Note 5 drapeau
Détails du livre
Critiques (2)
0 commentaire
 
 

Pour mieux développer avec C++

design patterns, STL, RTTI et smart pointers

de
Public visé : Débutant

Édition : Dunod - 188 pages, 1re édition, 1er octobre 1999

ISBN10 : 210004835X - ISBN13 : 9782100048359

Commandez sur www.amazon.fr :

0.00 € TTC (prix éditeur 0.00 € TTC)
Critique du livre par le 3 mars 2003
Cet ouvrage destiné aux initiés commence la ou presque tous les autres livres consacrés au C++ s'arretent. Ce livre vous apprends à tirer parti de toute la puissance du langage C++. C'est le livre indispensable pour les experts ou ceux qui veulent le devenir.
Critique du livre par NC World le 27 février 2004
Un ouvrage destiné au développeur, pour "produire plus simplement du code efficace, robuste et évolutif.". Après une étude du langage C++, les auteurs abordent la STL (Standard Template Library) en décrivant les modèles conteneur-itérateur, stratégie et adaptateur, puis les désign patterns, etc. Des références techniques, bibliographiques et multimédia complètent l'ouvrage.
Texte de votre critique
Date de la critique JJ/MM/AAAA
Qui a réalisé cette critique ?

Son pseudo :

Son nom :
Note




 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:08
Pour mieux développer avec C++
design patterns, STL, RTTI et smart pointers





 
couverture du livre Le C++ efficace

Note 4 drapeau
Détails du livre
Critiques (1)
0 commentaire
 
 

Le C++ efficace

Cinquante règles de conception

de
Traducteurs : Virginie Zaïm et Eric Leflaive
Public visé : Débutant

Résumé de l'éditeur

Scott Meyers propose ici cinquante règles ou « commandements » élaborés à partir des péchés par action ou par omission commis par les développeurs et programmeurs en C++, avec pour objectif de créer des logiciels efficaces, portables et faciles à entretenir. Pour devenir un programmeur compétent en C++, il est impératif de saisir parfaitement toutes les interactions complexes qui existent entre les nombreuses caractéristiques du langage. Ce guide, très incisif, offre un point de vue pénétrant sur ces principales actions. Entre autres avantages tout à fait uniques, le lecteur découvrira dans cet ouvrage :

- Les conseils d'un expert sur la conception orientée objet, la conception et la mise en ?vre des classes, l'utilisation correcte de l'héritage, la gestion de la mémoire.

- Des recettes innovantes pour simuler des propriétés que ne possède pas forcément son compilateur. Toute une sagesse patiemment acquise, traditionnellement transmise de bouche de programmeur à oreille de programmeur ou de développeur. A la différence de la plupart des ouvrages consacrés au C++, celui-ci ne s'articule pas autour de caractéristiques particulières du langage, chaque explication étant associée à la suggestion qu'elle accompagne.

- L'avantage de cette approche est de refléter plus fidèlement la complexité des systèmes logiciels pour lesquels le C++ est souvent choisi, et d'amener à une compréhension efficace des interactions entre le caractère propre de ce langage et des règles de développement universellement applicables.

Édition : Vuibert - 256 pages, 1er février 2001

ISBN10 : 271178682X - ISBN13 : 9782711786824

Commandez sur www.amazon.fr :

34.20 € TTC (prix éditeur 36.00 € TTC)
Critique du livre par la rédaction vince07 le 26 février 2005
Dans cet ouvrage, Scott Meyers livre au développeur C++ une mine d'informations, conseils et astuces rarement voire jamais abordés dans les livres plus classiques. Au travers de 50 astuces et règles de conception, l'auteur nous apprend à éviter les erreurs courantes, à mieux concevoir nos applications, et à construire des programmes plus robustes et efficaces. Il couvre les éléments les plus importants de la programmation objet et du C++ : gestion correcte de la mémoire, écriture de classes, principes et bonne utilisation de l'héritage.

La lecture de cet ouvrage est un réel plaisir, chaque partie se révèle riche en enseignements et conseils tous plus pertinents les uns que les autres. L'ouvrage est court (256 pages), mais l'auteur ne s'est pas arrêté là avec l'écriture d'un second volet : More effective C++ (apparemment pas encore traduit en français).

Le seul reproche qu'on pourrait faire à ce livre est son âge : il a été écrit en 1991. De ce fait, de nombreux mécanismes du C++ aujourd'hui communs sont présentés comme des améliorations futures du langage -- les templates, les exceptions et les classes imbriquées par exemple. L'ouvrage souffre également d'une non-conformité vis-à-vis de la dernière norme de 1998, et certains (rares) morcreaux de code sont à reconsidérer.

Cependant l'ouvrage s'en trouve peu affecté : l'intérêt de celui-ci est de donner des conseils et techniques d'ordre général sur la conception et les mécanisme du langage, et non des éléments de syntaxe. La quasi totalité des chapitres ne souffre donc pas de ce grand âge, et pour les quelques exceptions le lecteur pourra aisément faire la part des choses.

Comme tous les ouvrages de l'auteur, Le C++ efficace est donc un livre à posséder dans sa bibliothèque, et sera utile tout autant au débutant voulant éviter les pièges du langage qu'à l'expert souhaitant perfectionner ses connaissances.




 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:08
Le C++ efficace
Cinquante règles de conception


Scott Meyers propose ici cinquante règles ou « commandements » élaborés à partir des péchés par action ou par omission commis par les développeurs et programmeurs en C++, avec pour objectif de créer des logiciels efficaces, portables et faciles à entretenir. Pour devenir un programmeur compétent en C++, il est impératif de saisir parfaitement toutes les interactions complexes qui existent entre les nombreuses caractéristiques du langage. Ce guide, très incisif, offre un point de vue pénétrant sur ces principales actions. Entre autres avantages tout à fait uniques, le lecteur découvrira dans cet ouvrage :

- Les conseils d'un expert sur la conception orientée objet, la conception et la mise en ?vre des classes, l'utilisation correcte de l'héritage, la gestion de la mémoire.

- Des recettes innovantes pour simuler des propriétés que ne possède pas forcément son compilateur. Toute une sagesse patiemment acquise, traditionnellement transmise de bouche de programmeur à oreille de programmeur ou de développeur. A la différence de la plupart des ouvrages consacrés au C++, celui-ci ne s'articule pas autour de caractéristiques particulières du langage, chaque explication étant associée à la suggestion qu'elle accompagne.

- L'avantage de cette approche est de refléter plus fidèlement la complexité des systèmes logiciels pour lesquels le C++ est souvent choisi, et d'amener à une compréhension efficace des interactions entre le caractère propre de ce langage et des règles de développement universellement applicables.

[Lire la suite]



 
couverture du livre Effective C++ (3ème édition)

Note 5 drapeau
Détails du livre
Critiques (1)
0 commentaire
 
 

Effective C++ (3ème édition)

55 Specific Ways To Improve Your Programs And Designs

de
Public visé : Intermédiaire

Résumé de l'éditeur

“Every C++ professional needs a copy of Effective C++. It is an absolute must-read for anyone thinking of doing serious C++ development. If you’ve never read Effective C++ and you think you know everything about C++, think again.”
— Steve Schirripa, Software Engineer, Google“C++ and the C++ community have grown up in the last fifteen years, and the third edition of Effective C++ reflects this. The clear and precise style of the book is evidence of Scott’s deep insight and distinctive ability to impart knowledge.”
— Gerhard Kreuzer, Research and Development Engineer, Siemens AG
The first two editions of Effective C++ were embraced by hundreds of thousands of programmers worldwide. The reason is clear: Scott Meyers’ practical approach to C++ describes the rules of thumb used by the experts — the things they almost always do or almost always avoid doing — to produce clear, correct, efficient code.

The book is organized around 55 specific guidelines, each of which describes a way to write better C++. Each is backed by concrete examples. For this third edition, more than half the content is new, including added chapters on managing resources and using templates. Topics from the second edition have been extensively revised to reflect modern design considerations, including exceptions, design patterns, and multithreading.

Important features of Effective C++ include:
  • Expert guidance on the design of effective classes, functions, templates, and inheritance hierarchies.
    Applications of new “TR1” standard library functionality, along with comparisons to existing
  • standard library components.
  • Insights into differences between C++ and other languages (e.g., Java, C#, C) that help developers from those languages assimilate “the C++ way” of doing things.

Édition : Addison-Wesley Professional - 320 pages, 3e édition, 1er mai 2005

ISBN10 : 0321334876 - ISBN13 : 9780321334879

Commandez sur www.amazon.fr :

39.52 € TTC (prix éditeur 39.52 € TTC) livraison gratuite !
Critique du livre par la rédaction glayag le 18 avril 2007
Cette critique s'applique à la troisième édition de ce livre (Le C++ Efficace), en anglais. Le sous titre est 55 Specific Ways to Improve Your Programs and Designs. 5 éléments ont été apparemment ajoutés.
En fait, le livre a été complètement remanié, par exemple la première partie n'est plus consacrée à la migration C vers C++, mais à l'adaptation au C++ à travers les mots-clés const, les initialisations, ... La difficulté est croissante, les premiers éléments étant très simples à appréhender et à mettre en œuvre - logique, c'est l'adaptation au C++ - puis on avance vers des terrains de plus en plus minés - qu'est-ce que le compilateur crée comme fonction qu'on ne veut pas forcément, les opérateurs d'assignations, ... -. La partie sur la gestion de la mémoire gagne en complexité et s'applique à toutes les ressources, non plus seulement la mémoire. Les parties dédiées au design et déclaration des classes, leurs implémentations ainsi que l'héritage sont elles aussi pertinentes. Certains éléments des anciennes éditions ont été déplacés dans d'autres sections, d'autres éléments ont été incorporés judicieusement. Une partie dédiée à la programmation générique a été introduite, on va même jusqu'à la méta-programmation. La section consacrée à new et delete est aussi nouvelle et on parle de leur surcharge, ce qui est très intéressant.
En fait, ce livre est vraiment dédié au C++ et non à la jonction C/C++ comme par le passé. Il est même orienté vers le futur, plusieurs allusions au nouveau standard en discussion sont faites dans tout le livre avec les nouvelles classes apparues dans TR1:: et Boost. Ce livre, dans cette dernière édition, est de nouveau à la pointe, comme il l'a été lors de la première édition, après avoir marqué le pas face aux livres plus récents et plus "C++". Encore un livre à avoir dans sa bibliothèque !




 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:08
Effective C++ (3ème édition)
55 Specific Ways To Improve Your Programs And Designs


“Every C++ professional needs a copy of Effective C++. It is an absolute must-read for anyone thinking of doing serious C++ development. If you’ve never read Effective C++ and you think you know everything about C++, think again.”
— Steve Schirripa, Software Engineer, Google“C++ and the C++ community have grown up in the last fifteen years, and the third edition of Effective C++ reflects this. The clear and precise style of the book is evidence of Scott’s deep insight and distinctive ability to impart knowledge.”
— Gerhard Kreuzer, Research and Development Engineer, Siemens AG
The first two editions of Effective C++ were embraced by hundreds of thousands of programmers worldwide. The reason is clear: Scott Meyers’ practical approach to C++ describes the rules of thumb used by the experts — the things they almost always do or almost always avoid doing — to produce clear, correct, efficient code.

The book is organized around 55 specific guidelines, each of which describes a way to write better C++. Each is backed by concrete examples. For this third edition, more than half the content is new, including added chapters on managing resources and using templates. Topics from the second edition have been extensively revised to reflect modern design considerations, including exceptions, design patterns, and multithreading.

Important features of Effective C++ include:
  • Expert guidance on the design of effective classes, functions, templates, and inheritance hierarchies.
    Applications of new “TR1” standard library functionality, along with comparisons to existing
  • standard library components.
  • Insights into differences between C++ and other languages (e.g., Java, C#, C) that help developers from those languages assimilate “the C++ way” of doing things.


[Lire la suite]



 
couverture du livre C++ Templates: The Complete Guide

drapeau
Détails du livre
Critiques (0)
0 commentaire
 
 

C++ Templates: The Complete Guide

de
Public visé : Intermédiaire

Résumé de l'éditeur

Templates are among the most powerful features of C++, but they are too often neglected, misunderstood, and misused. C++ Templates: The Complete Guide provides software architects and engineers with a clear understanding of why, when, and how to use templates to build and maintain cleaner, faster, and smarter software more efficiently.
C++ Templates begins with an insightful tutorial on basic concepts and language features. The remainder of the book serves as a comprehensive reference, focusing first on language details, then on a wide range of coding techniques, and finally on advanced applications for templates. Examples used throughout the book illustrate abstract concepts and demonstrate best practices.
Readers learn
* The exact behaviors of templates
* How to avoid the pitfalls associated with templates
* Idioms and techniques, from the basic to the previously undocumented
* How to reuse source code without threatening performance or safety
* How to increase the efficiency of C++ programs
* How to produce more flexible and maintainable software
This practical guide shows programmers how to exploit the full power of the template features in C++. The companion Web site at http://www.josuttis.com/tmplbook/ contains sample code and additional updates.

Édition : Addison Wesley - 552 pages, 1re édition, 12 novembre 2002

ISBN10 : 0201734842 - ISBN13 : 9780201734843

Commandez sur www.amazon.fr :

38.80 € TTC (prix éditeur 39.64 € TTC) livraison gratuite !
Aucune critique n'a été faite pour l'instant



 Commenter Signaler un problème

Avatar de zoom61 zoom61 - Rédacteur https://www.developpez.com
l 16/06/2014 à 17:08
C++ Templates: The Complete Guide


Templates are among the most powerful features of C++, but they are too often neglected, misunderstood, and misused. C++ Templates: The Complete Guide provides software architects and engineers with a clear understanding of why, when, and how to use templates to build and maintain cleaner, faster, and smarter software more efficiently.
C++ Templates begins with an insightful tutorial on basic concepts and language features. The remainder of the book serves as a comprehensive reference, focusing first on language details, then on a wide range of coding techniques, and finally on advanced applications for templates. Examples used throughout the book illustrate abstract concepts and demonstrate best practices.
Readers learn
* The exact behaviors of templates
* How to avoid the pitfalls associated with templates
* Idioms and techniques, from the basic to the previously undocumented
* How to reuse source code without threatening performance or safety
* How to increase the efficiency of C++ programs
* How to produce more flexible and maintainable software
This practical guide shows programmers how to exploit the full power of the template features in C++. The companion Web site at http://www.josuttis.com/tmplbook/ contains sample code and additional updates.

[Lire la suite]



 
couverture du livre C++ pour les programmeurs C - 6ème Édition

drapeau CD-Rom
Détails du livre
Critiques (0)
4 commentaires
 
 

C++ pour les programmeurs C - 6ème Édition

de
Public visé : Débutant

Résumé de l'éditeur

Acquérir une parfaite maîtrise du C++ et de la programmation objet : C++ pour les programmeurs C est la réédition, avec un nouveau titre mieux adapté au public visé, du grand classique de Claude Delannoy, Programmer en C++, qui s'est imposé au fil de ses six éditions successives comme la référence en langue française sur ce langage. Destiné aux programmeurs C souhaitant migrer vers le C++, l'ouvrage insiste tout particulièrement sur la bonne compréhension des concepts objet et sur l'acquisition de méthodes de programmation rigoureuses. Entièrement fondé sur la norme ANSI/ISO, l'ouvrage couvre tous les aspects du langage et de sa bibliothèque standard (STL ou Standard Template Library), et traite en profondeur des points les plus délicats auxquels est confronté un programmeur C++ lors de la création de ses propres classes et de la conception d'applications professionnelles. Chaque notion nouvelle et chaque fonction du langage sont illustrées de programmes complets dont le code source est fourni sur le site www.editions-eyrolles.com. Tout au long de l'ouvrage, des notes soulignent les différences majeures entre le C++ et Java, de manière à établir des passerelles entre les deux langages.

Édition : Eyrolles - 602 pages, 6e édition, 16 janvier 2008

ISBN10 : 2212122314 - ISBN13 : 9782212122312

Commandez sur www.amazon.fr :

56.00 $ TTC (prix éditeur 0.00 $ TTC) livraison gratuite !
Aucune critique n'a été faite pour l'instant



 Commenter Signaler un problème

Avatar de JolyLoic JolyLoic - Rédacteur/Modérateur https://www.developpez.com
l 06/02/2015 à 20:41
J'ai lu les 3 premières page du chapitre 2 (le premier à parler technique), et j'ai déjà vu 3 erreurs... Du Delannoy en sorte... Il paraît qu'il s'est un peu amélioré récemment, mais je n'ai pas eu l'occasion de feuilleter un de ses livres récents.

Et même quand il parle de C, il parle implicitement du C89, pas du C99, ce que je trouve étrange pour un livre écrit en 2007.

Comme developpez n'aime pas publier les critiques négatives, je pense ne pas être un bon choix pour ce livre... Mais je pense surtout que ce livre n'est pas un bon choix pour être critiqué. Pourquoi perdre du temps avec ?
Avatar de Luc Hermitte Luc Hermitte - Expert éminent sénior https://www.developpez.com
l 06/02/2015 à 11:14
:/ Le lien ne marche pas.

La dernière fois que j'avais regardé, c'était un livre de C++ historique, et sa réception sur les forums en ligne est généralement mauvaise.
Avatar de Luc Hermitte Luc Hermitte - Expert éminent sénior https://www.developpez.com
l 27/03/2018 à 11:18
Bonjour,

Personne ne bashe pour le plaisir. Je dirai même que nous sommes dans l'attente de plus d'ouvrages modernisés en langue française que le C++ Primer (qui a une édition de retard), ou Je Me Lance (épuisé et limité dans son périmètre). C'est un boulot de titan, nous en avons conscience.

Par ce que nous entendons par "modernisé", cf une courte prose sur le sujet, ou la conférence de Kate Gregory sur le sujet: .

Cordialement.