Bonjour à tous, voici un petit programme:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include <iostream> using namespace std; int main(void) { int n; int *tab; int *tab2; cout << "Nb d'element du tableau ? "; cin >> n; tab = new int[n]; for (int i = 0; i < n; i++) { cout << "elm " << i << ": "; cin >> tab[i]; } tab2 = new int[n]; for (int i = 0; i < n; i++) tab2[i] = tab[i] * tab[i]; delete[] tab; for (int i = 0; i < n; i++) cout << tab2[i] << " "; cout << endl; delete[] tab2; return (0); } |
Ce programme fonctionne correctement, mais quand je lance valgrind j'ai le droit à ça: total heap usage: 5 allocs, 4 frees, 74,768 bytes allocated
Je ne comprend pas. D'abord il y a deux new, donc 2 allocations seulement ? Et deux delete, donc 2 free ?
Si quelqu'un peut m'expliquer, merci d'avance.
+0
-0