は、私はこのようなイテレータとの下位std::string
を印刷しようとしている:C++文字列を後方に印刷するには?
std::string back = "hello";
for(std::string::iterator it=back.end(); it!=back.begin(); --it)
{
std::cout << (*it);
}
しかし、出力のみ出力します:なぜそれはまた時間をプリントアウトされていない
olle
?私はいくつかのことを試してみましたが、その理由を理解することはできません。どんな助けでも大変感謝します。ありがとう!! :)
問題がある
正しいアプローチは、それが逆参照を取得します前
it
を減少することです'back.end()'は最後の要素ではなく、文字列の後ろを指しています。 http://en.cppreference.com/w/cpp/iterator/reverse_iteratorを試しましたか? – pingul'std :: reverse()'を使わないのはなぜですか? –
'it> = back.begin()' – GreatAndPowerfulOz