Gå til innhold

Hjelp til C++


Anbefalte innlegg

Videoannonse
Annonse

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...