begin process at 2012 05 30 00:42:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Opérateur de copie et pointeur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Opérateur de copie et pointeur

lundi 2 août 2010 à 15:10:17 | Opérateur de copie et pointeur

eupeup

Bonjour à tous!!!!

J'ai une petite question, et si quelqu'un pouvait m'aider, ce serait sympa...
Donc ca concerne la définition d'un opérateur de copie dans une classe d'objet...
Si ma classe contient un pointeur, doit-on dans l'opérateur de copie passer le pointeur via le signe = (mais du coup l'adresse sera la même), ou alors re-allouer de la mémoire avec un new et transmettre la valeur de mon pointeur par la suite?

Question bête, y a-t-il une règle ou ca dépend bêtement de ce que l'on veut faire?

Et petite question supplémentaire, est-il indispensable de coder systématiquement cet opérateur de copie,de même y a-t-il une règle?
lundi 2 août 2010 à 18:31:39 | Re : Opérateur de copie et pointeur

CptPingu

Administrateur CodeS-SourceS

Si ma classe contient un pointeur, doit-on dans l'opérateur de copie passer le pointeur via le signe = (mais du coup l'adresse sera la même), ou alors re-allouer de la mémoire avec un new et transmettre la valeur de mon pointeur par la suite?


La plupart du temps, tu voudras sûrement faire une copie.

Question bête, y a-t-il une règle ou ca dépend bêtement de ce que l'on veut faire?


Ça dépend bêtement de ce que tu veux faire.
Néanmoins, ce problème peut être aisément réglé avec des smart pointers. Des "shared pointers" par exemple. Qui peuvent être supprimés autant de fois que l'on veut, puisqu'ils ne disparaîtront qu'une fois nécessaire.

Et petite question supplémentaire, est-il indispensable de coder systématiquement cet opérateur de copie,


Oui, il est indispensable, non pas de le faire, mais de le gérer: Soit tu le désactives, soit tu le recodes.
Oubliez de le faire, c'est une grossière erreur qui mènent à un code passoir (bug, memory leak, difficultés de maintenance, ...).

de même y a-t-il une règle?


Oui. Si tu as des pointeurs en attribut de ta classe, tu dois gérer la copie. Sinon, ce n'est pas nécessaire.

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio

Merci d'utiliser Réponse acceptée si un post répond à votre question


Cette discussion est classée dans : copie, question, classe, pointeur, opérateur


Répondre à ce message

Sujets en rapport avec ce message

La surcharge de l'opérateur ++ sur un pointeur de classe Node [ par nord666 ] Bonjour à tous,J'ai un problème avec la surcharge de l'opérateur ++ sur un pointeur de classe Node.Je veux que ++ptrNode ou quelque chose d'identique fonction recevant un pointeur de fonction d'une classe [ par fuliculi ] Bonjour à tous,j'ai un thread qui doit faire évoluer une variable "progress" de 0 à 100% (j'utilise les mutex pour éviter les écritures/lectures simul question de débutant [ par catamenia ] bonjour,J'ai récupérer un fichier .cpp et .h contenant une classe.j'ai ajouter les fichiers au projet.Quand je déclare une instance de la classe, j'ai RegisterClassEx [ par Ziman ] Bonjour,je me pose une tite question. En fait, je vois dans tout les code pour l'API win32 la fonction RegisterClassEx, j'ai vu qu'elle servait à cré Petite question avec CAsyncSocket [ par Nixeus ] Bonjour tout le monde !Quelques petites questions me perturbe depuis 2 jours, et je m'en remet donc à vous !Voila, je programme un petit serveur en MF Polumorphisme pointeur [ par yvesyves ] Bonjour, Admettons : [code=cpp]class A { private : .... protected : void Insertapres(A * nouveau, A * source = this){.....} }; classe B 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 une question [ par deck_bsd ] Bonsoir tous le monde, Voila une question me trote dans la tête depuis quelque temps. Et notament qu'en j'ai vu la signature de la fonction strdup : Question conception [ par wismerhill__ ] Salut, je bosse sur un projet et je suis à la conception des classesJe ne suis pas sur que c'est bien le coin pour en parler donc si vous pensez que j Pointeur vers des fonctions membres d'une classe [ par thoflo1 ] Bonjour, J'utilise une méthode d'une classe issue d'une librairie c++, qui prend un pointeur vers une fonction en argument : [code=cpp] typedef void (


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales