/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Hvad er en iterator
Fra : Anders Lund


Dato : 06-12-02 18:48

Jeg sidder og læser Bjarne Stroustrups "The c++ programming language". I de
første kapitler hopper han lige ud i noget ret svært stof, med frasen: "Det
skal nok komme alt sammen", men jeg syntes altså gerne jeg vil have styr på
hvad en iterator er. Han bruger ordet tit, uden at forklare det.
Det er vist noget med, at det i nogle tilfælde er pointere og i andre
tilfælde noget andet. Eller er jeg helt gal på den.

--
Mvh
Anders Lund
AndersGED@zaim.dk
fjern geden fra min email adresse



 
 
Kim Schulz (06-12-2002)
Kommentar
Fra : Kim Schulz


Dato : 06-12-02 19:06

On Fri, 6 Dec 2002 18:48:11 +0100
"Anders Lund" <andersGED@zaim.dk> wrote:
> Jeg sidder og læser Bjarne Stroustrups "The c++ programming language".
> I de første kapitler hopper han lige ud i noget ret svært stof, med
> frasen: "Det skal nok komme alt sammen", men jeg syntes altså gerne
> jeg vil have styr på hvad en iterator er. Han bruger ordet tit, uden
> at forklare det. Det er vist noget med, at det i nogle tilfælde er
> pointere og i andre tilfælde noget andet. Eller er jeg helt gal på
> den.
>
> --
> Mvh
> Anders Lund
> AndersGED@zaim.dk
> fjern geden fra min email adresse
>
>
www.dict.org er din ven!

iterator

An object or routine for accessing items
from a list, array or stream one at a time.

By extension, the term can be used for an object or routine
for accesing items from any data structure that can be viewed
as a list. For example, a traverser is an iterator for
tree-shaped data structures.


Claus Rasmussen (06-12-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 06-12-02 19:14

Anders Lund wrote:

> Jeg sidder og læser Bjarne Stroustrups "The c++ programming language". I
> de første kapitler hopper han lige ud i noget ret svært stof, med frasen:
> "Det skal nok komme alt sammen", men jeg syntes altså gerne jeg vil have
> styr på hvad en iterator er. Han bruger ordet tit, uden at forklare det.
> Det er vist noget med, at det i nogle tilfælde er pointere og i andre
> tilfælde noget andet. Eller er jeg helt gal på den.

En iterator er en generalisering af en pointer, når den bruges til at
gennemløbe en container. Se her:

int array[5] = { 1, 2, 3, 4, 5 };

int* begin = array + 0;
int* end = array + 5;

for (int* i = begin; i != end; ++i)
cout << *i << endl;

Det var måden man udskrev array's i C. Den metode tog man så og førte
over til de containere, man havde opfundet til C++, så man i C++ skriver:

vector<int> array;
array[0] = 1;
array[1] = 2;
array[2] = 3;
array[3] = 4;
array[4] = 5;

for (vector<int>::iterator i = array.begin(); i != array.end(); ++i)
cout << *i << endl;

I de to eksempler er begge i'erne iteratorer, men når en pointer ikke
bruges til at gennemløbe et array eller lignende, er en pointer ikke
en iterator.

-Claus


Ivan Johansen (06-12-2002)
Kommentar
Fra : Ivan Johansen


Dato : 06-12-02 19:22

Claus Rasmussen wrote:
> vector<int> array;

Husk at allokere plads:
vector<int> array(5);

Ivan Johansen


Mogens Hansen (06-12-2002)
Kommentar
Fra : Mogens Hansen


Dato : 06-12-02 19:43


"Anders Lund" <andersGED@zaim.dk> wrote in message
news:asqnsk$f54$1@sunsite.dk...

> Det er vist noget med, at det i nogle tilfælde er pointere og i andre
> tilfælde noget andet. Eller er jeg helt gal på den.

Nej, du er ikke helt galt på den.

Bogens index kan hjælpe dig.
Slå op under Iterator og du vil hurtigt finde frem til side 549, som er
første side i kapitel 19 "Iterators and Allocators".
Øverst på side 550 så der, hvad jeg opfatter som, en god kort beskrivelse af
hvad en iterator er.

Venlig hilsen

Mogens Hansen



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste