如标题所示,我知道cbegin()到unordered_map具有恒定的复杂度,但是它是恒定复杂度的迭代器的迭代。例如:cbegin()++; cbegin()+ 10; cbegin()+ i; cend()-;
这些都是o(1)吗?

最佳答案



第一部分可能会造成一些困惑,但是它只说说并不是所有的迭代器类型都支持所有操作(即,没有使用前向迭代器的随机访问)。但是定义的那些函数始终为have amortized constant complexity。该标准未明确规定每种迭代器方法的复杂性;在本节中似乎表明,已定义的那些迭代器方法必须具有摊销的恒定复杂性。

关于c++ - unordered_map cbegin()+数字//恒定不变吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47970164/

10-11 01:30