Commit efcd00f2 by Patryk Czarnik

+ dodatkowe wyjaśnienia

parent fbb14188
......@@ -80,10 +80,17 @@ Wektor::Wektor(const Wektor &zrodlowy)
}
Wektor& Wektor::operator=(const Wektor &zrodlowy) {
// poprawka = muszę jeszcze usunąć z pamięci swoją poprzednią tablicę
TypWartosci *stara_tablica = t;
// Muszę jeszcze usunąć z pamięci swoją poprzednią tablicę
// Chodzi o to, aby zwolnić pamięć po poprzedniej
// zawartości TEGO obiektu (this->t)
// Koncepcyjnie - chcemy wykonać delete[] t;
// Robię to dopiero po skopiowaniu danych ze zrodlowegodo nowej tablicy t
// ponieważ w szczególnum przypadku, gdy ktoś w programie napisze wektor = wektor
// te dwie tablice (t i zrodlowy.t) są sobie równe (ten sam wskaźnik).
// Skojarzenie - kupowanie i meblowanie nowego mieszkania meblami ze skleu (default) albo meblami ze starego mieszkania (przypadek w = w).
TypWartosci *stare_t = t;
kopiuj_elementy(zrodlowy);
delete[] stara_tablica;
delete[] stare_t;
return *this;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment