Czy w destruktorze muszę czyścić dane zapisane w vectorze?

0

Gdy mam dynamiczne zaalokowaną tablicę to wiem, że mam ją wyczyścić. Jak to jest z vectorem?

int n = 5, m = 10;
int** tablica = new int*[n];
for (int i = 0; i < n; ++i) {
    tablica[i] = new int[m];
}

sprzątanie
for (int i = 0; i < n; ++i) {
    delete tablica[i];
}
delete tablica;

np. takim?

vector<vector<double>>tab;

for (int i = 0; i < w; i++)
		{
			vector<double>temp;
			for (int j = 0; j < k; j++)
			{
				temp.push_back(i);
			}
			tab.push_back(temp);
		}
0

Nie musisz, to jedna z zalet RAII. Przy okazji: w pierwszym kodzie masz UB, delete zamiast delete[].

0

Jest jakaś książka dobrze opisująca ten wzorzec? Bo nie ukrywam, że moja wiedza na ten temat jest bardzo ograniczona i chciałbym to zmienić :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1