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

Boost C++ Discussion :

Copie de boost::shared_ptr


Sujet :

Boost C++

  1. #1
    Membre éclairé
    Homme Profil pro
    Game Graphics Programmer
    Inscrit en
    Août 2006
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Game Graphics Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 408
    Par défaut Copie de boost::shared_ptr
    Bonjour, J'ai un relativement gros problème avec les shared_ptr de boost.
    En effet, lorsque je fais une operation comme la suivante,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    KShaderHeaderPtr shPtr(new KShaderHeader(id));
    this->headerCollection[id] = shPtr;
    (avec KShaderHeaderPtr étant défini comme boost::shared_ptr<KShaderHeader>,
    KShaderHeader::id en tant que std::string,
    et KHeaderCollection headerCollection en tant que std::map<std::string, KShaderHeaderPtr>)

    cela ne me copie pas membre "id", alors que ca ne devrait que copier le pointeur.

    Désolé pour l'explication un peu floue, mais copier tout le source serait un peu trop gros.

    Quelqu'un aurait une idée à quoi cela pourrait être lié ?

    Est-ce qu'au moins, un boost::shared_ptr se copie de cette facon, ou est-ce qu'il faut utiliser une autre méthode?

    Merci pour toute réponse qui m'aide à avancer dans ce problème.

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    cela ne me copie pas membre "id", alors que ca ne devrait que copier le pointeur
    Comprends pas. Tu peux reformuler correctement ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Game Graphics Programmer
    Inscrit en
    Août 2006
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Game Graphics Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 408
    Par défaut
    en fait, j'ai trouvé l'erreur, elle était dans le constructeur qui initalisait mal la variable id. (Avais-je déjà évoqué que j'étais stupide...?)

    En fait, le tout fonctionne très bien et comme il faut.

    (en fait, j'ai découvert avoir le même problème en utilisant des pointeurs normaux, et ca m'a intrigué).

    Merci de s'être donné la peine d'essayer de comprendre mon problème.

Discussions similaires

  1. Réponses: 8
    Dernier message: 25/03/2008, 21h59
  2. Réponses: 12
    Dernier message: 25/02/2008, 14h27
  3. [BOOST] shared_ptr et void*
    Par bourrik dans le forum Bibliothèques
    Réponses: 16
    Dernier message: 16/06/2006, 17h12
  4. boost::shared_ptr et singletons
    Par Elendil_BzH dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 15/01/2006, 20h45
  5. [BOOST] shared_ptr et pointer C
    Par zdra dans le forum Bibliothèques
    Réponses: 7
    Dernier message: 08/05/2005, 14h15

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