std :: advance是在std :: multiset的迭代器中以恒定时间完成的吗?

Gau*_*ham 0 c++ iterator stl multiset

我想知道在std :: multiset的迭代器上调用std :: advance是否在常量时间内完成.

Mat*_*her 5

不,只有随机访问迭代器才能在恒定时间内前进.否则,它是距离的线性时间.

请参阅:https://en.cppreference.com/w/cpp/iterator/advance