我想知道是否在常数时间的std :: multiset迭代器上调用std :: advance。

最佳答案

std::advance,我们看到


  复杂
  
  线性的。但是,如果InputIt额外满足RandomAccessIterator的要求,则复杂性是恒定的。


由于std::*mapstd::*set家族中的任何模板都不满足RandomAccessIterator要求,因此它是线性的。从例如here


  会员类型
  
  [...]
  
  iterator常量BidirectionalIterator
  const_iterator恒定BidirectionalIterator

关于c++ - std::multiset的迭代器上的std::advance是否在恒定时间内完成?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53174053/

10-17 01:29