Я пытаюсь напечатать std::string
назад с итераторы, как это:C++ Как напечатать строку назад?
std::string back = "hello";
for(std::string::iterator it=back.end(); it!=back.begin(); --it)
{
std::cout << (*it);
}
Но выход будет печатать только:
olle
Почему также не распечатав час? Я попробовал пару разных вещей и поиграл с ним, но я просто не могу понять, почему. Любая помощь будет принята с благодарностью, спасибо! :)
Проблема заключается в том что 'back.end()' указывает * позади * строку, а не на последний элемент. Вы пробовали http://en.cppreference.com/w/cpp/iterator/reverse_iterator? – pingul
Почему бы не использовать 'std :: reverse()'? –
'it> = back.begin()' – GreatAndPowerfulOz