1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| {
Array<int> a(0);
// m_pData non initialisé, erreur sur le delete
}
while(true) {
auto p = new Array(unsigned(0xffffffff)); // un jour le new (dans le ctor) echouerra
p->Set(unsigned(0xfffffffe), 0); // et on écriera quelque part ou il ne faut pas
}
// delete au lieu de delete[], ça peut se tester ?
// problèmes de copie / affectation
{
Array<int> a0(5);
Array<int> a1(4);
Array<int> a2(a0); // a2 pointe sur la même zone mémoire que a0. Bug ou par design ?
a1 = a0; // mémoire de a1 non libérée (bug)
// a1 pointe sur la même zone mémoire que a0. Bug ou par design ?
// multiples deletes sur la même zone mémoire (bug)
} |
Partager