C++/Iteratory: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Lethern (dyskusja | edycje)
Linia 135:
 
Powyższe przykłady pokazują jak dużym ułatwieniem dla korzystania z iteratorów są przeładowane operatory inkrementacji i dekremntacji: '''operator++''' i '''operator--''', których używamy tu jak na zwykłej liczbie int. Mamy tu także '''operator=''' podstawienia, jak i porównanie iteratorów - '''operator!='''.
 
{{Porada|
Używanie iteratorów w pętli for skutkuje dość długim (i w opinii niektórych - mało czytelnym) kodem. Czasami, programiści ułatwiają sobie życie stosując makro FOREACH:
 
<source lang="cpp">
#define VAR(v,n) typeof(n) v=(n)
#define FOREACH(i,c) for(VAR(i,(c).begin());i!=(c).end();++i)
</source>
 
Użycie w kodzie:
<source lang="cpp">
vector<int> v;
v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4);
FOREACH(it, v)
{
cout << *it << endl;
}
</source>
Powyższy kod wyprowadza na standardowe wyjście zwartość wektora "v".
}}
 
=== Listy jedno- i dwukierunkowe ===