Ich versuche, eine std::string
rückwärts mit Iteratoren wie folgt zu drucken:C++ Wie wird eine Zeichenfolge rückwärts gedruckt?
std::string back = "hello";
for(std::string::iterator it=back.end(); it!=back.begin(); --it)
{
std::cout << (*it);
}
Aber der Ausgang wird nur ausdrucken:
olle
Warum ist es nicht auch die h ausdrucken? Ich habe ein paar verschiedene Dinge ausprobiert und damit herumgespielt, aber ich kann einfach nicht herausfinden, warum. Jede Hilfe wäre sehr dankbar, danke !! :)
Das Problem ist, das 'back.end()' zeigt * hinter * den String und nicht beim letzten Element. Haben Sie http://en.cppreference.com/w/cpp/iterator/reverse_iterator versucht? – pingul
Warum nicht 'std :: reverse()' verwenden? –
'it> = back.begin()' – GreatAndPowerfulOz