Rausfinden auf welcher Position sich ein iterator befindet
-
Hi, wie kann ich rausfinden auf welche Positon in einem Vector ein iterator zeigt? Mit diesem Wert müsste ich nämlich weiterarbeiten.
Brauche das hier für:
++vector[iterator];
Iterator zeigt auf irgendein Element 17, dann soll der Inhalt des Feldes 17 vom Vector um 1 erhöht werden.
-
dasnichts schrieb:
Hi, wie kann ich rausfinden auf welche Positon in einem Vector ein iterator zeigt? Mit diesem Wert müsste ich nämlich weiterarbeiten.
Brauche das hier für:
++vector[iterator];
Iterator zeigt auf irgendein Element 17, dann soll der Inhalt des Feldes 17 vom Vector um 1 erhöht werden.
Das geht dan einfach mit :
++(*iterator)
Du hast ja mit dem Iterator einen Zeiger auf dein Element, den du auch benutzen darfst.
Eine Möglichkeit die Position herauszufinden ist:
std::distance(vector.begin(), iterator);
-
Durch Dereferenzieren des Iterators erhälst du Zugriff auf das Element: *iter. Dann z.B. ++(*iter), falls es ein int ist.
hmpf, zu lahm.