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++/CLI Discussion :

Problème Pointeurs d'objets


Sujet :

C++/CLI

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut Problème Pointeurs d'objets
    Bonsoir à tous,
    mon problème est le suivant : je veux comme en C++, pouvoir pointer sur un objet déjà instancier...

    Autrement dit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CMyClass ^pInstance = gcnew CMyClass;
     
    CMyClass ^*pPointeur = &pInstance;
    Est ce que ce code est fiable ? est ce l'équivalence d'un pointeur en C++ ?
    J'avais déjà testé ce code mais il n'y avait que l'adresse de l'objet de l'instance qui était conservé contrairement aux arrays de l'instance qui sont devenus vides.

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    en .Net, on va plutot utiliser les tracking références, comme tu peux le voir dans la faq C++/CLI http://dotnet.developpez.com/faq/cpp...ckingreference et http://dotnet.developpez.com/faq/cpp...xe#handletoref

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut
    Avec les tracking references j'ai juste un petit problème :
    je ne peux pas en mettre une dans une ref class...

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ref struct IStruct
    {
      int %p;   
    };

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    je me demande bien quel serait l'interet ...

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut
    Et bien faire un pointeur...

    Je voudrais l'équivalence de ce code mais en CLI...
    J'espère que je suis clair et que j'ai bien compris le fonctionnement des handle objets et tracking reference...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    struct IClass
    {
       int *p;
    };
    Un handle objet (^), ce n'est pas l'équivalence d'un pointeur on est d'accord?
    Un pointeur sur un handle objet = une tracking reference ?!

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut
    En gros je veux pouvoir pointer vers un handle objet.

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut
    Problème résolu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    ref class CClass
    {
    public:
    	CClass()
    	{
    		this->i=0;
    	}
    	~CClass(){}
     
    	int i;
    };
    int _tmain(int argc, _TCHAR* argv[])
    {
    	array <CClass ^> ^pArray = gcnew array <CClass ^> (2);
     
    	CClass ^pC1 = gcnew CClass;
    	pC1->i = 1;
     
    	CClass ^pC2 = gcnew CClass;
    	pC2->i = 2;
     
    	pArray[0] = pC1;
    	pArray[1] = pC2;
     
    	pArray[0]->i = -1; // pC1 prend bien la valeur -1
     
    	return 0;
    }
    L'adresse du handle objet m'induisait en erreur et je croyais que c'était l'adresse sur lequel le handle objet "pointait".

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

Discussions similaires

  1. Problème pointeur et instanciation d'objet(new)
    Par Seabast888 dans le forum Débuter
    Réponses: 5
    Dernier message: 12/10/2009, 06h33
  2. problème lecture Deque de pointeurs sur objet
    Par gonzo59 dans le forum Débuter
    Réponses: 11
    Dernier message: 14/05/2009, 14h57
  3. [FLASH MX] Problème avec l'objet Date
    Par n_tony dans le forum Flash
    Réponses: 13
    Dernier message: 22/03/2005, 13h44
  4. [TTreeView] Problème avec les pointeurs d'objet
    Par BlackWood dans le forum Composants VCL
    Réponses: 2
    Dernier message: 02/07/2004, 14h31
  5. [MFC] Problème pointeur sur une classe
    Par mick74 dans le forum MFC
    Réponses: 7
    Dernier message: 14/04/2004, 14h17

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