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 :

Différence Pointeur Référence.


Sujet :

C++

  1. #21
    screetch
    Invité(e)
    Par défaut
    Citation Envoyé par gl Voir le message
    Je ne vois pas en quoi l'utilisation d'une référence ne devrait pas être utilisée pour une classe à sémantique d'entité.
    Une référence ne copie/crée pas un objet mais crée un alias sur un objet, au final c'est, dans l'esprit, un comportement assez proche de l'utilisation d'un pointeur modulo la non nullité, la constance, etc.
    Déjà je dois dire que je n'utilise pas de pointeurs nus (en tous cas le moins possible) au profit des pointeurs intelligents
    Et dans ce cas j'ai surtout entité = pointeur intelligent, valeur = référence
    car une référence ne convoie pas l'information sur la durée de vie d'un objet (tout comme un pointeur nu)
    c'est comme ca que je l'utilise et si tu poses la question comme ca, j'avoue pouvoir la retourner et demander: quel gain a utiliser une référence dans ce cas? (par rapport a un pointeur nu). Mis a part la non nullité.

  2. #22
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par Astraya Voir le message
    Autant pour moi
    Bah, il n'y a pas de mal...

    (HS pour présenter ses excuses, c'est "au temps pour moi" car, quand on écrit "autant pour moi", c'est qu'on souhaite... la même quantité de quelque chose que la personne qui a parlé juste avant "bonjour, je voudrais cinq kilo de patates", et le client suivant "bonjour, autant pour moi" )
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #23
    screetch
    Invité(e)
    Par défaut
    (HS Autant pour moi serait une forme elliptique de C’est autant pour moi, sous-entendu C’est autant d’erreur que l’on peut mettre à mon actif.)

  4. #24
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    Citation Envoyé par koala01 Voir le message
    Bah, il n'y a pas de mal...

    (HS pour présenter ses excuses, c'est "au temps pour moi" car, quand on écrit "autant pour moi", c'est qu'on souhaite... la même quantité de quelque chose que la personne qui a parlé juste avant "bonjour, je voudrais cinq kilo de patates", et le client suivant "bonjour, autant pour moi" )
    (HS : ça finira donc jamais ce débat ? Les deux sont valides.)
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

  5. #25
    Membre chevronné Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 043
    Points : 2 234
    Points
    2 234
    Par défaut
    Bah, il n'y a pas de mal...

    (HS pour présenter ses excuses, c'est "au temps pour moi" car, quand on écrit "autant pour moi", c'est qu'on souhaite... la même quantité de quelque chose que la personne qui a parlé juste avant "bonjour, je voudrais cinq kilo de patates", et le client suivant "bonjour, autant pour moi" )
    (HS : Apparement "au temps" est d'origine militaire. Selon le Robert c'est " au temps". Selon les américains c'est "My bad." . Y aurait-il des hommes de lettres parmi nous?)
    Homer J. Simpson


  6. #26
    screetch
    Invité(e)
    Par défaut
    (HS et j'espere le dernier: les deux sont admis, avec une préférence pour ce qui serait l'original: au temps pour moi. Mais autant pour moi est aussi correct)

  7. #27
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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
    Points : 4 551
    Points
    4 551
    Par défaut
    (tiens ? je me suis logué sur sementiquez.net ?)

    Sur le sujet des pointeurs intelligents : il y a une confusion étrange sur le fait qu'il soient utiles, même en C++ (pas d'offense, screetch, hein ? ). Un pointeur intelligent gère la durée de vie d'une instance à la place du programmeur.

    Plusieurs raisons peuvent pousser à l'adoption de smart pointers:

    1) la flemme : le programmeur n'a pas envie de gérer lui même la durée de vie de son instance. Je comprends tout à fait que la flemme soit à la base même de notre métier, mais il y a peut-être des limites à ne pas dépasser En tout cas, ce n'est pas une bonne raison.

    2) le programmeur n'a pas pris la peine de designer correctement son application, et il n'a pas pu déterminer la durée de vie de l'instance : c'est une erreur de sa part, qu'il cache par une sur-utilisation des pointeurs intelligents. C'est mauvais, très mauvais.

    3) le programmeur n'a aucun moyen de déterminer la durée de vie de l'instance : je n'ai jamais rencontré ce cas, mais je veux bien croire qu'il existe. Avec un bémol toutefois : un programme est censé être prédictif, et par conséquent, démontrable. Dans ce cadre, je ne vois pas bien par quel étrange phénomène le comportement de l'instance deviendrait non prédictif.

    4) le programmeur ne sait pas qui possède l'instance : l'instance est partagée par plusieurs objets, et le programmeur n'a pas défini celui qui en était responsable. Pour pallier à ce défaut, on permet à chacun des objets de détruire l'instance en question dès lors qu'il détecte qu'elle n'est plus utilisée. C'est bancal au mieux, catastrophique (au niveau design) au pire.

    5) la possession évolue : la possession est passée à un objet, puis à un autre, etc. Afin de ne pas avoir à tracer cette possession, on utilise un pointeur intelligent. C'est à la limite de la fainéantise exagérée.

    Les smart pointers donne une mauvaise réponse sous la forme de code à une question de pur design. Dans mon optique, il sont au mieux dangereux, et doivent être utilisés avec la plus extrême parcimonie. Les notions de durée de vie et de possession sont deux notions centrales en conception OO, et laisser un morceau de code décider de leur existence à la place de l'architecte, c'est aller droit dans le mur en accélérant un peu plus à chaque mètre parcouru. Je ne connais pas une seule utilisation correcte de cet outil. C'est le goto du 21ème siècle.

    Au final, je trouve que les pointeurs intelligents sont nettement bêtes (et je suis effaré de me rendre compte que je suis le seul à penser ça. Ouch.).
    [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.

  8. #28
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    ^Y compris les scoped_ptr? C'est le b-a-ba de la RAII!
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  9. #29
    screetch
    Invité(e)
    Par défaut
    j'avoue ne pas les utiliser comme cela.
    et j'avoue ne pas utiliser les pointeurs de boost/stl parce que je suis un peu d'accord avec toi.
    j'ai trois types de pointeurs:
    * scoped: un seul propriétaire
    * refcounté: plusieurs propriétaires
    * weak: je ne suis pas le propriétaire
    (j'en ai d'autres mais ils sont beaucoup plus spécifiques)

    a partir de refcounté et de scoped il est possible d'obtenir des weak
    a partir des weak, il n'est pas permis de réobtenir un scoped/redcounté, donc de demander la propriété (même partagée) d'une entité.
    De plus, le weak n'est pas le weak au sens boost; le weak est, si jamais l'objet pointé meurt, le weak emet une assertion. On ne peut pas référencer un objet mort, même si on ne va pas l'utiliser.

    la facon dont je l'utilise, c'est que les refptr/scoped sont utilisés comme stockage, et les variables intermédiares sont des weak.
    par exemple, une interface devrait le plus souvent possible renvoyer un weak. Ainsi, on sait que l'appelant n'est jamais le propriétaire de l'entité.

    Cela a alors l'effet inverse de ce que tu dis; la propriété est "clairement" établie dans le code et on peut meme interdire de la propager. Cela force les gens a se poser la question de la durée de vie (du moins je l'espère, puisque c'est mon but).
    Je voudrais juste utiliser scoped plus souvent


    Et depuis que je développe sur mon projet j'utilise le detecteur de leak de visual studio, et il n'a rien reporté depuis plus de 2 ans, ce que je trouve est pas si mal (meme si le developpement est pas super rapide non plus).



    Mais je suis globalement d'accord avec toi, mais je remplace "pointeurs intelligent" par "garbage collector" dans ton post!

  10. #30
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Les auto_ptr de la STL ont aussi leur utilité, vu qu'ils donnent droit à la fois à la sémantique de transfert et à la RAII.
    Leur inconvénient est leur incompatibilité dangereuse avec l'opérateur = (mais on peut espérer que cela soit corrigé dans C++1x, vu que la classe n'aura plus à simuler les rvalue references).

    Aussi, les pointeurs refcountés ont leur utilité dans le copy-on-write, où l'on ne veut PAS qu'il y ait un propriétaire en particulier.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  11. #31
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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
    Points : 4 551
    Points
    4 551
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Y compris les scoped_ptr? C'est le b-a-ba de la RAII!
    C'est marqué dans le nom : scoped_ptr. Ce qui implique une notion de durée de vie connue, et de propriété (parce que le scoped_ptr ne peut être possédé que par un seul objet). C'est un auto_ptr amélioré, qui n'a pas (à ma connaissance) de compte de références associé. Bref : ce n'est pas un pointeur intelligent, c'est un pointeur encapsulé

    Dans 9 cas sur 10 dans le code existant, le scoped_ptr peut être remplacé par autre chose - genre une variable automatique qui aura la même durée de vie.
    [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.

  12. #32
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Et la raison pour laquelle on ne fait pas le remplacement, c'est avoir du code exception-safe. Pourquoi s'en priver?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  13. #33
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    En fait, souvent les smart pointers sont là pour qu'un autre développeur qui ne comprends pas immédiatemnet comment utiliser un pointeur qu'on lui fourni ne fasse pas une betise avec, comme un delete. (la propriété donc);


    Du coup c'est plus pour une question de communication (accessoirement appliquée par le language) que réellement pour manager la durée de vie (même si on le fait systématiquement à chaque implémentation).

  14. #34
    screetch
    Invité(e)
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Et la raison pour laquelle on ne fait pas le remplacement, c'est avoir du code exception-safe. Pourquoi s'en priver?
    Emmanuel disait que

    et
    sont interchangeables. Dans le deuxieme cas, c'est toujours exception-safe.

  15. #35
    screetch
    Invité(e)
    Par défaut
    Citation Envoyé par Klaim Voir le message
    En fait, souvent les smart pointers sont là pour qu'un autre développeur qui ne comprends pas immédiatemnet comment utiliser un pointeur qu'on lui fourni ne fasse pas une betise avec, comme un delete. (la propriété donc);


    Du coup c'est plus pour une question de communication (accessoirement appliquée par le language) que réellement pour manager la durée de vie (même si on le fait systématiquement à chaque implémentation).
    un autre développeur n'a aucun moyen de savoir ce qu'il doit faire avec un pointeur. Certaines methodes sont des factory et donnent a l'appelant la responsabilité, certaines methodes renvoient un pointeur que l'on ne doit pas supprimer. Comment faire la différence?

  16. #36
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Citation Envoyé par screetch Voir le message
    Emmanuel disait que

    et
    sont interchangeables. Dans le deuxieme cas, c'est toujours exception-safe.
    Mais pas en retour de fonction.

    Et pas en instanciation conditionnelle:
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    {
    	auto_ptr<A> a;
    	if( ... )
    		a.reset(new A( X, Y ));
    	else
    		a.reset(new A( Z ));
     
    	a->DoSomething();
    }
    Note: dans le cas présenter ici, je considère que dupliquer DoSomething() (qui peut être plusieurs appels, interactions avec autres objets, etc.) n'est pas préférable à utiliser un pointeur intelligent.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  17. #37
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    Citation Envoyé par Emmanuel Deloget Voir le message
    C'est marqué dans le nom : scoped_ptr. Ce qui implique une notion de durée de vie connue, et de propriété (parce que le scoped_ptr ne peut être possédé que par un seul objet). C'est un auto_ptr amélioré, qui n'a pas (à ma connaissance) de compte de références associé. Bref : ce n'est pas un pointeur intelligent, c'est un pointeur encapsulé

    Dans 9 cas sur 10 dans le code existant, le scoped_ptr peut être remplacé par autre chose - genre une variable automatique qui aura la même durée de vie.
    Et se privée de l'exception safety? L'avantage des poineurs c'est que les opérations sont garanties no-throw...
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

  18. #38
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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
    Points : 4 551
    Points
    4 551
    Par défaut
    Citation Envoyé par Goten Voir le message
    Et se privée de l'exception safety? L'avantage des poineurs c'est que les opérations sont garanties no-throw...
    Meh ?

    Si le but est juste de stocker un pointeur et pas de l'utiliser d'une manière ou d'une autre, en quoi l'utilisation d'un scoped_ptr a-t-elle un intérêt ? Il faut bien qu'à un moment donné l'instance soit crées (pas de garantie no-throw) ou que les méthodes de cette instance soient appelées (idem). Si on ne fait que manipuler le pointeur et effectuer des opérations sur lui, alors i n'y a pas besoin de l'encapsuler dans quoi que ce soit.

    Je vois pas ce que la résistance aux exception viens faire dans ce cas (et de toute façon, j'en reste là : 9 fois sur 10, le scoped_ptr n'est pas utilisé pour ses qualités intrinsèques).
    [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.

  19. #39
    screetch
    Invité(e)
    Par défaut
    je suis comme emmanuel, je comprends mal ce que vous reprocher a utiliser l'objet lui meme plutot qu'un autoptr dessus?

  20. #40
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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
    Points : 4 551
    Points
    4 551
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Et pas en instanciation conditionnelle:
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    {
    	auto_ptr<A> a;
    	if( ... )
    		a.reset(new A( X, Y ));
    	else
    		a.reset(new A( Z ));
     
    	a->DoSomething();
    }
    Effectivement - ca représente une bonne partie du 1/10 restant. Il y a aussi le cas inverse, qui est tout aussi intéressant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    X* f()
    {
      auto_ptr<X> p(new X);
     
      if (cond1(p)) return NULL; // détruit l'instance automatiquement
      if (cond2(p)) return NULL; // détruit l'instance automatiquement
     
      return p.release(); // libère le pointeur, ce qui permet de ne pas détruire l'instance.
    }
    Je n'ai pas le courage de faire une recherche de code dans google code, codeplex ou sf.net pour démontrer ce que je dis, mais j'en suis pas mal persuadé : trop souvent, les scoped_ptr ne sont pas utilisés à bon escient. Il sont utiles, c'est vrai - contrairement aux smart pointers - mais bien moins que prévu.
    [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. Equivalent pointeur - référence
    Par MAX-k dans le forum C#
    Réponses: 2
    Dernier message: 24/02/2010, 13h27
  2. Réponses: 6
    Dernier message: 06/03/2009, 06h44
  3. Différence entre référence et pointeur ?
    Par Vivian Pennel dans le forum Langage
    Réponses: 3
    Dernier message: 03/08/2007, 17h19
  4. [pointeurs/référence]
    Par poukill dans le forum C++
    Réponses: 18
    Dernier message: 10/05/2006, 11h49
  5. Réponses: 8
    Dernier message: 26/08/2004, 18h59

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