Aktywne Wpisy

Tywin_Lannister +127
Do wszystkich programmerów, którzy zarabiają po 20k+ per month i mają naprawdę dużą wiedzę: dlaczego nie zaczniecie budować SWOICH projektów, które można byłoby monetyzować? Toolsy, apki, strony i jakieś inne uje muje dzikie węże na które można byłoby znalezc klientów tudzież użytkowników i zarabiać pieniądz. Własne ASSETY to jest przyszłość. WHY?
Czas skończyć z postkolonialną mentalnością i SAMEMU budować. Polak ma być OWNEREM, a nie zasobem na B2B.
#pracait #
Czas skończyć z postkolonialną mentalnością i SAMEMU budować. Polak ma być OWNEREM, a nie zasobem na B2B.
#pracait #





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.