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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Que pensez-vous du "d" pointer?


Sujet :

C++

  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut Que pensez-vous du "d" pointer?
    Bonjour,

    Je trouve la technique de Qt vraiment intelligente de separer l'interface de l'implementation via le "d" pointer. Cela donne en outre la possibilité de faire du reference counting (si on le veut) mais aussi et surtout beaucoup de flexibilité...

    Qu'en pensez-vous?

  2. #2
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    Je code (un peu) avec Qt et je me demande :
    Qu'est ce que le ' "d" pointer ' ?
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    c'est leur facon de programmer leur toolkit, ils separent la classe et son implementation, ce qui leur permet entre autre de faire du reference-counting. cela permet aussi de faire des versions specifiques pour des plate-formes de maniere super propre.

    le meilleur conseil serait surement celui d'aller voir dans leur sources... on apprend drolement.

  4. #4
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par epsilon68 Voir le message
    c'est leur facon de programmer leur toolkit, ils separent la classe et son implementation,
    Ok, c'est la technique que je connaissais sous les noms de pimpl, compilation firewall, Cheshire cat idiom,...

    le meilleur conseil serait surement celui d'aller voir dans leur sources... on apprend drolement.
    Ca se trouve aussi chez Coplien, Meyers, Sutter et vraisemblablement d'autres. Avec une meilleure discussion des compromis faits.

  5. #5
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    J'ai l'impression qu'ils aiment bien donner des noms à eux à des techniques déjà (re)connues dans la communauté (je pense au COW, et aux compteurs entiers atomiques)
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  6. #6
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Ca se trouve aussi chez Coplien, Meyers, Sutter et vraisemblablement d'autres. Avec une meilleure discussion des compromis faits.
    En effet, dans les publications des auteurs cités tu as de bonnes grosses discussions bien appuyées par des exemples et descriptions des avantages et défauts de cette technique.

    Citation Envoyé par Luc Hermitte Voir le message
    J'ai l'impression qu'ils aiment bien donner des noms à eux à des techniques déjà (re)connues dans la communauté (je pense au COW, et aux compteurs entiers atomiques)
    Oui, ça donne une impression d'authenticité

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    et qu'en pensez-vous? donner des liens aussi si vous pouvez...

  8. #8
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    http://www.gotw.ca/gotw/024.htm
    http://www.gotw.ca/gotw/028.htm
    http://cpp.developpez.com/faq/cpp/?p...er_compilation

    Une recherche sur le forum devrait aussi t'apporter des éléments de réponse

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    et qu'en pensez-vous? l'utilisez-vous? trouvez-vous ca pratique? avez-vous eu des deconvenus a l'utiliser?

    Je recherche un peu d'experience de ceux qui utilisent cette technique...

  10. #10
    Invité
    Invité(e)
    Par défaut
    C'est une technique très utile lorsqu'une classe est utilisée par beaucoup d'autres classes dans un gros projet, car cela limite les recompilations nécessaires. C'est d'ailleurs tout le but de la technique (compiler firewall).

    Par contre, en fonction de la méthode d'implémentation, ça peut être un peu lourdeau à maintenir (cela peut nécessiter beaucoup de redondance). Et il y a un petit piège avec les méthodes virtuelles.

    Carl

  11. #11
    Membre chevronné

    Inscrit en
    Août 2007
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 300
    Par défaut
    Je l'utilise aussi parfois dans un contexte peu cité: lorsqu'on doit partager du code entre plusieurs compilateurs. Par exemple, des gens s'amusent encore à utiliser CString ou CFile en environnement Windows...
    Si ces types se retrouvent en donnée membre, même privée, cela empêche la compilation des .h sous des compilateurs ne passant pas MFC. Plus embêtant: quand on recompile des .h prévus pour VC6 avec par exemple VC9 avec la bêta de MFC, on se retrouve avec des DLLs qui exigent (sans raison) les versions toute récentes non stabilisées des DLL MFC, ce qui gène le déploiement.
    Bref, plutôt qu'un outil de conception utile en soi, je trouve que c'est une méthode efficace bien que peu élégante pour cacher la m...

  12. #12
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    merci pour vos reponses

    le plus gros probleme que je vois c'est pour l'heritage, difficile apres.
    et puis l'allocation dynamique.

    je vais voir, c'est quand meme une technique interessante que je ne connaissais pas avec les bons mots (compilation firewall, pimpl).

    merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Que pensez-vous des générateurs de doc PHP ?
    Par Nonothehobbit dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 64
    Dernier message: 10/07/2007, 10h17
  2. Que pensez vous du nouveau kernel 2.6 ?
    Par GLDavid dans le forum Administration système
    Réponses: 58
    Dernier message: 02/08/2004, 15h45
  3. Que pensez vous du mariage ASP Flash?
    Par tyma dans le forum Flash
    Réponses: 4
    Dernier message: 09/07/2003, 15h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo