 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Don Guest
|
Posted: Tue Jul 04, 2006 6:12 pm Post subject: le piege |
|
|
Bonjour,
D'après ce qu'on m'a dit, les codes suivants présentent certains risques
lors de son utilisation :
class toto {
public :
toto(){
_titi = new unsigned char[1000];
}
~toto(){
delete [] _titi;
}
private :
unsigned char *_titi;
}
où sont les risques?
Cdt,
Don |
|
| Back to top |
|
 |
Jean-Marc Bourguet Guest
|
Posted: Tue Jul 04, 2006 6:19 pm Post subject: Re: le piege |
|
|
Don <don.h (AT) free (DOT) fr> writes:
| Quote: | Bonjour,
D'après ce qu'on m'a dit, les codes suivants présentent certains risques
lors de son utilisation :
class toto {
public :
toto(){
_titi = new unsigned char[1000];
}
~toto(){
delete [] _titi;
}
private :
unsigned char *_titi;
}
où sont les risques?
|
Disponibilite du constructeur de copie et de l'affectation generee par
le compilateur alors qu'ils ne font pas ce qu'il faut. Je suppose que
la classe n'est pas concue pour etre copie d'une maniere ou d'une
autre, mais dans ce cas, il vaut mieux desactiver la possibilite de
faire cette operation en declarant un constructeur de copie et un
operateur d'affectation prives et en ne les implementant pas.
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org |
|
| Back to top |
|
 |
Guest
|
Posted: Tue Jul 04, 2006 9:06 pm Post subject: Re: le piege |
|
|
Don wrote:
| Quote: | Bonjour,
D'après ce qu'on m'a dit, les codes suivants présentent certains risques
lors de son utilisation :
class toto {
public :
toto(){
_titi = new unsigned char[1000];
}
~toto(){
delete [] _titi;
}
private :
unsigned char *_titi;
}
où sont les risques?
|
A ton avis que se passe-t-il si tu fais çà (NB : plusieurs points
sont à noter!) :
int main()
{
toto t1;
{
toto t2;
t1=t2;
}
return 0;
}
???
Arnaud |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|