Accueil > Forum > > > > PROB avec pointeur THIS
PROB avec pointeur THIS
mercredi 25 août 2004 à 10:16:35 |
PROB avec pointeur THIS

jfk20004
|
Salut, tout ce que je sais à propos du pointeur this: -c'est un pointeur sur l'adresse d'un objet -il permet des appels en cascade de fonctions quelqu'un peut il m'expliquer à quoi cela sert d'avoir l'adresse d'un objet et ce qu'est reellement un appel en cascade. Si il y a une autre signification de this,merci de me la donner. Pouvez vous me donner un exemple d'utilisation. MERCI bonne prog
|
|
mercredi 25 août 2004 à 10:28:24 |
Re : PROB avec pointeur THIS

djl
|
pour faire un appele en cascade, utile pour les expression avec operateur, il faut que l'operateur retourne l'adresse (une reference) sur l'objet donc toujours return *this;
|
|
mercredi 25 août 2004 à 11:12:17 |
Re : PROB avec pointeur THIS

magic_Nono
|
pour bcp d'élements visuels (Win32 & MFC) un pointeur sur l'objet parent ou celui a modifié est demandé on fait alors svt appel à this exemples : m_tooltip.Create(this); pChoixDeveloppement->Create(IDD_DCHOIX_DEVELOPPEMENT,this); Magic Nono: l'informagicien!
|
|
mercredi 25 août 2004 à 14:59:15 |
Re : PROB avec pointeur THIS

leprov
|
Réponse acceptée !
on vous demande une explication simple a prori, compliquez pas les choses, ou donnez des explications plus detaillées. mo quand je pose mes questions api, on me donne des reponses comme ca ca m'aide pas. quand tu crées une classe, cette classe a des fonctions membres. parfois, une fonctions membre a besoin d'utiliser "l'objet lui meme". en fait, ton objet est constitué par ses données membres, mais parfois tu as besoin de dire "l'objet entier et non pas ses membres". par exemple, lorsque tu réécrie l'opérateur d'affectation, tu ne dois toujours vérifier que tu ne fais pas une autoaffectation (c'est a dire que dans ton programme tu ne fait pas obj = obj, car ca fait planter), donc la premiere ligne de ton operateur = doit verifier que l'adresse de ton objet est différente de l'adresse du parametre (pour etre plus clair voici le code, en reprenant l'exemple de djl qui etait bien) :
type operateur = (const type & obj) { if (this == &obj) return *this;
//recopie des membres: membre1 += obj.membre1; //ceci est equivalent a //this->membre1 += obj.membre1; membre2 += obj.membre2;
return *this; }
voila j'espere qu'ainsi c'est plus clair. et petit message a tout le monde, vous vous savez, ca vous semble evident, si on vous demande qqch, c'est que c'est obscur, donnez un bout de code clair expliqué clairement svp (je dis ca en esperant que ce soit ce que j'ai fait ici....du moins j'ai essayé)
|
|
mercredi 25 août 2004 à 17:17:25 |
Re : PROB avec pointeur THIS

djl
|
tu as entierement raison, le mieux c'est de lire la theorie et de s'entrainer à faire des bidouillage ou toujours faires des classes en exercices ...
this est l'adresse de l'hinstance, dans une fonction membre il est connue car c'est l'adresse de l'hinstance qui est en quelque sorte un parametre caché de ta fonction
par exemple
struct Foo { int a , b;
void bar() { this->a = 5; // identique à a = 5 // car this represente l'adresse de // l'hinstance sur laquel s'apliquera // la fonction
b = *(int *)this; // equivalent à b = a
a = *(int *)(this + sizeof a); // equivalent à // a = b; } }; ces exemples ne servent à rien et sont dangereux (d'ailleur je n'ai pas tester, me dire si ya erreur), à prendre uniquement pour exemple, autrement c'est un passe droit
en gros une fois que tu as compris que this est une adresse,tu peux appliquer tout ce tu connais de l'arithmetique des pointeurs/adresses en c
|
|
Cette discussion est classée dans : objet, adresse, donner, pointeur, cascade
Répondre à ce message
Sujets en rapport avec ce message
Donner une adresse à un pointeur... [ par anosan ]
Salut,J'aimerais savoir comment spécifier à un pointeur quelle adresse il doit pointer (sachant que cette adresse n'est pas celle d'une variable!).Mer
Objet et pointeur, souci [ par TuxOnline ]
Bonjour j'ai un petit souci pour l'envoie de l'adresse d'un pointeur.Voila j'ai donc une classe CMAnifestation. Dans cette classe se trouve un objet v
PETITE QUESTION : Objet, pointeur ou référence???? [ par eupeup ]
Bonjour à tous, j'ai une petite question, et si quelqu'un pouvait me répondre se serait sympa... Donc en fait j'ai une classe contenant diverse chos
Problème pointeurs toujours pareils [ par Roro8883 ]
Bonjour à tous, y'a un truc que je comprends pas à propos des pointeurs dans le code suivant : int value = 33; int* pvalue = &value; // Af
Question simple, STL c++, ( indexation d'objet ) [ par Wiiip ]
Bonjour, merci, Je suppose que ce n'est pas bien compliqué, et que l'on doit pouvoir faire cela facilement avec la stl. Je cherche à faire un index po
Disparition de pointeurs sur classes derivees [ par Natural M ]
Bonjour a tous !Alors voilà, j'ai un petit probleme de pointeurs sur classes derivées qui disparaissent des la sortie de leur espace de construction.-
pointeur et adresse [ par nannouuD ]
salut a tous,estce que quelqu'un pourra me renseigner sur la signification de cette ecriturestd::complex (*W)[M] = &Z[k][0];sachant les declaration su
pointeur de pointeur de pointeur [ par am1150 ]
Salut, quelqu'un peut-il me dire pourquoi à partir de la 3emme adresse de **a est égale à 0? code : char* EnerconTextAlTest3(char* NamePark,int Nu
Mémoire partagée et pointeur [ par darsh99 ]
Bonjour,J'essai de faire passer un tableau dynamique, un pointeur donc, d'un programme à un autre, l'adresse est bien passée et les champs non dynamiq
Comment donner des couleurs a un objet (polygone) [ par ValToutCourt ]
BonjourJe travaille sur un projet utilisant la librairie graphique Xlib.J'aimerais remplir de couleur un polygone crée avec la fonction XDrawLines.
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|