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 :

Pointeurs vs Pointeurs intelligents


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de Dalini71
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 181
    Par défaut Pointeurs vs Pointeurs intelligents
    Bonjour,

    Maintenant que les pointeurs font partie de la STL grâce au C++11, j'entends beaucoup autour de moi que "le temps des delete c'est fini".

    Cependant même si les SP sont très utiles dans les cas ou le programme peut renvoyer des exceptions (très souvent donc ), je me demandais si c'était vraiment la bonne attitude à adopter que de mettre des SP à tout va.
    N'y a-t-il pas de perte de performances (car se sont quand même des objets) ?
    N'est-il pas mieux de passer par des pointeurs simples pour des cas tout simples ?

    Et si vous avez quelques conseils de bonnes pratiques quant aux SP, je suis preneur

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Juste pour info, Emmanuel Deloget vient justement de publier un article sur son blog sur ce sujet. Par contre, je le suis pas totalement sur ses conclusions et continue (et continuerai) de conseiller aux débutants d'utiliser les pointeurs intelligents.

    N'y a-t-il pas de perte de performances (car se sont quand même des objets) ?
    Je m'interroge sur cette phrase. Je ne crois pas que l'utilisation des objets implique une perte de performance (modulo ce qui concerne les vtables mais c'est une conséquence de l'héritage vituel et non de l'approche objet)... Si un spécialiste peut apporter ses lumières

  3. #3
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 618
    Par défaut
    Je ne suis pas spécialiste mais pour moi se poser la question de SP ou pointeur revient à faire de la micro-optimisation. Donc sauf cas très particulier (noyau de calcul critique, embarqué, ...), je pense qu'il y a bien d'autre chose à optimiser avant et que la perte de perf due aux SP est très négligeable devant ce qu'ils apportent .

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par défaut
    Citation Envoyé par pyros Voir le message
    Je ne suis pas spécialiste mais pour moi se poser la question de SP ou pointeur revient à faire de la micro-optimisation. Donc sauf cas très particulier (noyau de calcul critique, embarqué, ...), je pense qu'il y a bien d'autre chose à optimiser avant et que la perte de perf due aux SP est très négligeable devant ce qu'ils apportent .
    Dans mon article, j'argumente justement sur le fait que l'utilisation des SP importent une sémantique dans l'architecture, et pas seulement au niveau du code. Ils ont une raison d'être, puisqu'ils disent "la propriété de cet objet est partagée entre plusieurs propriétaire" (ce qui est, à mon sens, très dangereux en terme d'architecture).

    Lorsque c'est possible, préférer les unique_ptr<> au shared_ptr<> (~bs est au moins d'accord avec moi sur ce point(*) : http://www2.research.att.com/~bs/C++...std-shared_ptr).

    (*) je le dis dans ce sens là, parce que je n'avais pas lu cette entrée de la FAQ avant de me faire mon opinion propre. Mais la relation est bijective, donc lisez là dans le sens qui vous convient le mieux
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

Discussions similaires

  1. Pointeurs et pointeurs de pointeurs
    Par wallace27 dans le forum C
    Réponses: 10
    Dernier message: 09/04/2015, 22h07
  2. Réponses: 21
    Dernier message: 06/08/2009, 09h31
  3. Réponses: 5
    Dernier message: 26/07/2009, 16h36
  4. Réponses: 6
    Dernier message: 26/05/2007, 00h33
  5. pointeur sur pointeur
    Par gaut dans le forum C
    Réponses: 3
    Dernier message: 01/11/2005, 21h30

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