Siemano
W trakcie pisania programu napotkałem pewien problem. otóż:
- utworzyłem sobie pewną klasę Macierz i chciałem zbudować listę w oparciu o STL, w ten sposób:
list<Macierz> Zbior;
Niestety przy dodawaniu elementów do tej listy przy pomocy metody push_back() (zakończonym sukcesem) wykonywał się konstruktor obiektu klasy Macierz i zaraz po tym jego destruktor, co jest tutaj zjawiskiem z goła nieporządanym.
Dlatego postanowiłem sprawę rozegrać w ten sposób:
list<Macierz*> Zbior;
Macierz* TMP;
TMP = new Macierz(Nazwa, LiczbaWierszy, LiczbaKolumn);
Zbior.push_back(TMP);
TMP = NULL;
Obiekty są dodawane do listy i wykonuje się tylko konstruktor.
Jednak kolejny problem pojawił się przy próbie uzyskania danych.
Tworzę iterator:
list<Macierz*>::iterator iterator_listy;
A dalej pętla:
for(iterator_listy=Zbior.begin(); iterator_listy!=Zbior.end(); iterator_listy++){
//Zawartość
}
Próbowałem jakoś odpowiednio ustawić "zawartość" pętli, ale jedyne co mi się udało uzyskać, to adres w pamięci tej macierzy...
Ktoś ma jakiś pomysł?