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 sur membres d'un conteneur


Sujet :

C++

  1. #21
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    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 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Même pour des petites fonctions qui ne font pas grand chose, il est vite pénible d'intercepter toutes les exceptions pour devoir les traduire -- genre si il faut des couches de traductions entre exceptions corba et exceptions du projet.

    Et oui, c'est facile à faire. Cf. le classique std::vector<boost::shared_ptr<MonType> >. (d'autres API/bibliothèques fournissent des équivalents .. qui ne seront pas intégrés au prochain standard, contrairement à ceux de boost)
    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...

  2. #22
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Bon vous me conseillez de revenir à la technique des conteneur::<Player*> ?
    C'est la technique usuelle.
    Boost ftw

  3. #23
    Membre à l'essai
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 19
    Points
    19
    Par défaut
    Ouais j'ai lu que std::auto_ptr était très déconseillé à l'utilisation dans un vecteur.

    Est-ce que boost est présent par default (ou très fréquemment présente) sur les machines linux ?

  4. #24
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Non ce n'est généralement pas dans l'installation de base mais on peut l'installer via un paquet. (de toutes façons, même gcc n'est pas dans l'installation de base)
    Boost ftw

  5. #25
    Membre à l'essai
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 19
    Points
    19
    Par défaut
    Oui c'est pas faux, mais je voulais dire, trouvé dans la majorité des systems au meme titre que gcc et sa stdlib.
    Sinon je suis d'accord, il m'a fallu d'un apt-get pour l'installer :).

    Bon par contre je pense que c'est plus source d'emmerde qu'autre chose,

  6. #26
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    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 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Certains compilos commencent déjà à fournir std::tr1::shared_ptr<> qui est très similaire aux pointeurs intelligents de boost. Il me semble que c'est le cas des dernières versions de GCC.
    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...

  7. #27
    Membre à l'essai
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 19
    Points
    19
    Par défaut
    Mouais ça ralentit la compatibilité ça :)

  8. #28
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Bon par contre je pense que c'est plus source d'emmerde qu'autre chose
    Tu penses mal.

    Boost est un élément fondamental de la programmation en C++.
    Boost ftw

  9. #29
    Membre à l'essai
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 19
    Points
    19
    Par défaut
    Je ne parle pas de boost mais des pointeurs intelligents.

    Enfin je vais essayer, après tout il me suffit d'un simple
    typedef std::vector<boost::shared_ptr<Player>> PlayerVector
    pour tester puis si ça merde je remets
    typedef std::vector<Player*> PlayerVector
    donc bon.

    Après comme c'est censé etre bien foutu à part supprimer les delete il n'y a aucun changement à faire si ?:)

  10. #30
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Ben si, il faut modifier tout le code qui se base sur le fait que les éléments de ton vecteur sont des Player*.
    Boost ftw

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/05/2006, 18h22
  2. Pointeur sur des fonctions membres d'une classe
    Par Muetdhiver dans le forum C++
    Réponses: 3
    Dernier message: 15/02/2006, 11h35
  3. Pointeur sur fonction membre avec parametre
    Par Glosialabolas dans le forum C++
    Réponses: 7
    Dernier message: 06/02/2006, 02h32
  4. Réponses: 10
    Dernier message: 03/02/2005, 13h09
  5. Réponses: 5
    Dernier message: 12/01/2005, 20h58

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