TeisL Skrevet 15. september 2009 Del Skrevet 15. september 2009 Hei, jeg har sittet og lest og prøvd å få en god forståelse for iteretors i C++, men får det ikke helt inn. Noen som kan gi meg en god forklaring?? Lenke til kommentar
GeirGrusom Skrevet 17. september 2009 Del Skrevet 17. september 2009 iterators er et objekt som representerer en posisjon i en rekke. Du kan jo prøve å skrive din egen iterator, så forstår du det kanskje bedre for(vector<int>::iterator it = vec.begin(); it != vec.end(); it++) { cout << *it; } vector.begin returnerer kun en iterator som representerer det første elementet i vektoren, end returnerer en som representerer slutten på vektoren. it++ betyr kun at iteratoren skal flytte seg til neste element. Eksempel på en iterator: template<typename T> class static_array_iterator { T* ptr; static_array_iterator& operator ++(int) { ptr++; return *this; } bool operator !=(static_array_iterator& other) { return other.ptr != ptr; } T& operator*() { return *ptr; } }; int main(int argc, char** argv) { int my_array[] = {1, 4, 9, 33, 15, 97}; static_array_iterator end(my_array + 9); for(static_array_iterator it(my_array);it != end; it++) cout << *it; } Helt eksempelvis. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå