哪个更好std :: prev(itr)或--it?

Sum*_*Jha 5 c++ iterator stl

我正在迭代双向数据结构.我可以用(做,要么++,--)或(std::prev,std::next,std::advance).使用较晚的优势是否有优势?

eer*_*ika 12

他们稍微做了不同的事情.所以一般来说都不是更好.

特别std::prev是不修改itr.因此,最好itr不应该或不能(见SM的答案,例如后者)进行修改.--itrstd::advance修改itr,所以itr必须修改它们会更好.

的优点std::prev,并std::advance--itr为他们的说法n,其允许避免编写循环,当你需要提前多个步骤.如果迭代器是随机访问,它们比循环更有效.