Aktywne Wpisy

JakDorobic_com +30
Niedzielne #rozdajo gdzieś między rosołem a schabowym! ( ͡° ͜ʖ ͡°)
Do zdobycia jest karta podarunkowa Allegro o wartości 100 zł!
A zasady
Do zdobycia jest karta podarunkowa Allegro o wartości 100 zł!
A zasady
źródło: Rozdajo JakDorobic (3)
Pobierz
Anonim5 +2
Ile może stać samochód bez odpalania silnika? U mnie już stoi 3 tygodnie z rozładowanym akumulator i zastanawiam się czy silnik się nie popsuje od tak długiego nieużywania. Za 1-2 tygodnie mam zamiar naładować akumulator i odpalić silnik.
#motoryzacja #pytanie #pytaniedoeksperta #mechanikasamochodowa #mechanika
#motoryzacja #pytanie #pytaniedoeksperta #mechanikasamochodowa #mechanika





Mianowicie...
Mam klasę abstrakcyjną Object.
3 klasy dziedziczą po Object: StringObject, IntObject, DoubleObject.
Utworzyłem do tego listę, która przetrzymuje wskaźniki do obiektów typu Object.
Następnie utworzyłem zagnieżdżoną klasę iterator w klasie List i tu zaczynają sie problemy...
Gdy wrzucę mojego iteratora do pętli for(;;) to wszystko działa, natomiast gdy wrzucę ją do pętli rangeloop, wyrzuca mi błąd, który nie do końca rozumiem, bo dlaczego chce Object konwertować do iteratora?
Tutaj zamieszczam kod, ale wszystko wrzuciłem do jednego pliku, więc może być on trudny do przejrzenia xD
#programowanie #cplusplus
źródło: comment_OKUHGtznlzQym70GPFyB4geNLWaRwzlM.jpg
Pobierzźródło: comment_As2pmkAlSYUPq7JJ9qBbXe8mpw6sY5rY.jpg
PobierzObject&to powinieieć miećfor(Object& obj : list)Edit. Jeśli tak to w jaki sposób został rozwiązany problem zwracania referencji i zwykłej "skopiowanej wartości"
@OstryKepucz: pytasz to
std::list? ona trzyma sama w sobie obiekty przez wartośc, aleoperator*zwraca referencję do trzymanego obiektu. przez to, że trzyma przez wartość, to średnio się nadaje do trzymania polimorficznych obiektów(chyba, że przez wskaźnik lub inteligentny wskaźnik).A co do drugiego... ogólny zamysł rozumiem.
Ale jak to ma wyglądać, Iterator ma być klasą? Iterator musi być "czegoś", musi mieć jakiś swój "begin()", a tworząc samą klasę
Zatem dlaczego mogę std liście użyć for( auto it : stdlist) i for( auto : stdlist), a u mnie po zamianie, żeby dereferencja iteratora zwracała wskaźnik (tak jak "oryginalny" iterator std::list który przetrzymuje wskaźniki
Komentarz usunięty przez autora
std::listzwraca referencję do wskaźnika, więcauto&działa.