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

SL & STL C++ Discussion :

[c++ --> java] std::auto_ptr<>


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de nayaphykit
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Par défaut [c++ --> java] std::auto_ptr<>
    Bonjour,

    je travaille sur le passage d'une librairie c++ en java.
    je n'arrive pas bien a apprehender ce que fait std::auto_ptr<> en c++

    est ce que quelqu'un pourrait me donner un equivalent en java ?

    j'ai par exemple
    std::auto_ptr<const Issue> m_cause (Issue etant une classe de la librairie)

    je vous remercie par avance

    Naya

  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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    En Java lorsque tu alloues un objet avec new, tu n'as pas à te soucier de sa libération c'est le ramasse-miettes qui s'en occupe lorsque l'objet n'est plus utilisé.

    En C++ ce n'est pas le cas, toute mémoire allouée avec new doit être libérée avec delete. std::auto_ptr permet de le faire automatiquement lorsque l'objet sort de sa portée, ce qui est relativement pratique lorsque l'on commence à parler d'exceptions et ce genre de choses.

    Attention toutefois, std::auto_ptr n'est pas forcément la meilleure classe.

    Il y a plein de bonne lecture dans la FAQ : "pointeurs intelligents", "RAII", "auto_ptr", ...

    Bref pour répondre à ta question : il n'y a pas d'équivalent Java, puisque cette classe n'a pas de raison d'être dans ce langage.

  3. #3
    Membre averti Avatar de nayaphykit
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Par défaut
    si je comprend bien, je peux donc juste simplement le squizzer et mettre juste
    Issue m_cause

    ai je bien compris ?

  4. #4
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Pas forcément. auto_ptr assure que la ressource sera libérée rapidement, ce qu'un GC n'assure pas. Si l'objet gère une autre ressource que de la mémoire (handle fichier, mutex,...), il te faudra ajouter à chaque utilisation de l'objet un try{monObjet.utilise()} finally {monObjet.libereRessource();}
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  5. #5
    Membre averti Avatar de nayaphykit
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 31
    Par défaut
    oki merci

    je vais encore vous embeter un ti peu ^^
    un peu plus loin je viens de decouvrir un autre truc du genre :

    dynamic_cast<const Issue *>(& cause)

    pouvez vous m'expliquer le principe du dynamic_cast et si possible comment le transcire en java ?

    merci

  6. #6
    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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    C'est très bien expliqué dans la FAQ, tout comme les auto_ptr d'ailleurs. Je suggère donc que tu ailles y faire un tour à ta prochaine question, tu risques d'y trouver les réponses tout seul

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

Discussions similaires

  1. [c++ --> java] std::auto_ptr<>
    Par nayaphykit dans le forum Langage
    Réponses: 4
    Dernier message: 31/03/2008, 15h17
  2. "std::cin >> variable" en java
    Par gletare dans le forum Langage
    Réponses: 3
    Dernier message: 13/12/2006, 17h04
  3. std::auto_ptr et delete[]
    Par Herode dans le forum SL & STL
    Réponses: 11
    Dernier message: 14/02/2006, 22h56
  4. [debutant] std::auto_ptr<>
    Par Meno dans le forum SL & STL
    Réponses: 8
    Dernier message: 26/10/2005, 10h27

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