5Fermer7
Kevin KoflerLe 08/03/2004 à 01:29
Pollux
: - que contient _data ? pkoi est-ce que tu utilises malloc() et pas new() pour le créer ?

Pourquoi pas? smile Si malloc lui convient, il peut l'utiliser.
- et tu utilises trop de pointeurs... Pourquoi "std::string *" et pas "const std::string &" ?

Peut-être parce qu'un pointeur est plus facile à comprendre qu'une référence constante? grin
Kevin> operator= n'a pas besoin d'être surchargé, en général...

Si! Réfléchis un peu! Tu en as besoin pour exactement la même raison que le constructeur de copie: si tu as des pointeurs allouées à l'extérieur, tu ne peux pas seulement copier les pointeurs, tu dois aussi copier les contenus, et le langage C++ ne fait pas ça pour toi. Et tu dois aussi désallouer les anciens pointeurs avant d'écrire les nouveaux par dessus.
nitro :
De plus : - NULL n'existe pas en C++, on utilise 0

Faux. NULL existe en C++ est est défini dans cstddef/stddef.h.