A vrai dire, les pointeurs, en C++, j'admets qu'il faut y faire super attention, principalement à cause du principe des quatre grands.
Ainsi, mon prof de C++ nous a sorti une "superbe" classe du genre de
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class Centrale
{
public:
Centrale()
{
std::cout<<"combien de turobgenerateurs dans la centrale ?";
cin >>nbgen;
pgen=new *TurboGen[bgen];
}
~Centrale()
{
for(int i=0;i<pgen;i++)
delete pgen[i];//car les turbo génératrices sont créées de manière
//dynamique
delete[] pgen;
}
/* je passe sur les autres méthodes ;) */
} |
L'astuce, c'est que, dans les méthodes que j'ai passées, il n'y a rien concernant le constructeur par copie ni l'opérateur d'affectation.
Evidemment, je n'y ai réagi que, bien à mon aise, installé dans le train pour rentrer
Mais, la semaine prochaine, je vais quand même lui indiquer que sa centrale, elle a un sérieux avant gout de Tchernobyl... car, si on essaye d'assigner une centrale à un autre, on court à la catastrophe
Alors, oui, les pointeurs sont dangereux à utiliser, oui, il nécessitent de réfléchir un minimum à ce que l'on fait, et, oui, cela nécessite de penser en permanence à nos "quatre grands".
Mais, ceci dit, si on reste un peu attentif et que l'on respecte certaines règles, cela devient un vrai plaisir de travailler avec
Partager