Fermer2
BrunniLe 22/04/2008 à 11:12
Je me suis fait pwnd en voulant faire une classe "Image" qui alloue et libère automatiquement la bitmap associée de façon complètement transparente pour l'utilisateur.
Mais j'ai remarqué que le destructeur était appelé de multiples fois dans certains cas, comme ici:
void fonction()
{
    Image img("test.png");
    img = Image("autre.png");
}

Le destructeur de l'image "test.png" est appelé une fois après que j'assigne une nouvelle image "autre.png" mais aussi une fois une fois que je quitte 'fonction'. En gros le destructeur de image sera appelé ici 3 fois, une fois pour l'image "autre.png", deux fois pour "test.png". Du coup j'ai immanquablement un plantage en faisant ce code.
Alors je me demandais, est-ce qu'il y a des trucs à faire attention avec les string C++, du coup, et autres? (notamment l'opérateur +) Ou alors il y a moyen de contourner ce problème?
Merci d'avance smile