iterator in reverse_iterator "konvertieren"
-
Gibt's ne Möglichkeit einen iterator in einen reverse_iterator umzuwandeln?
Ich habe einen vector und eine Index-Variable, die den Index eines besonderen Items im vector speichert. Wenn ich durch den vector vorwärts iterieren will mache ich folgendes:
vector<CItem*>::iterator it = m_vItems.begin(); it += (m_FVIIndex); // den Index hinzuaddieren... for(; it!=m_vItems.end(); ++it) { /*...*/ }
Wie würde ich jetzt rückwärts iterieren, beginnend bei diesem Index??
-
Hi, nur mal so ins blaue geschossen
for(; it!=m_vItems.begin(); --it)
grüße, Con@n
-
vec.rbegin() liefert einen reverse_iterator
der rest des codes sollte dann gleich sein - nur dass du natürlich nicht +=i schreiben kannst sondern etwas anderes schreiben musst
was, das verrate ich aber nicht.
-
afaik kann ein reverse_iterator aus einem beliebigen iterator konstruiert werden:
std::reverse_iterator rit = m_vItems.begin() + FVIIndex; //...
-
Wie gemein
Ok, ich meld' mich wieder, falls ich noch Probleme habe.
-
Shlo schrieb:
afaik kann ein reverse_iterator aus einem beliebigen iterator konstruiert werden:
std::reverse_iterator rit = m_vItems.begin() + FVIIndex; //...
Nee, das geht auf garkeinen Fall.