delete [] et pointeur intelligent
Bonjour,
J'esseye de faire une classe de pointeur intelligent, mais j'ai une petite question à propos des tableaux.
Voici 2 codes sources utilisant ma classe CSmartPtr:
Code:
1 2 3
| {
CSmartPtr<B> sp(new B[20]);
} //Apelle du destructeur de sp qui fait un "delete [] data". |
Code:
1 2 3
| {
CSmartPtr<B> sp(new B);
} //Apelle du destructeur de sp qui fait un "delete [] data". |
NB : data est de type T* et il contient l'adresse renvoié par "new B" ou "new B[20]".
Est-ce que le deuxième code source est bon ? Donc peut-on faire un "delete []" sur un pointeur qui ne pointe pas vers un tableau mais un seul élément ?
Merci...