【发布时间】:2018-06-22 13:31:53
【问题描述】:
请查看std::advance 函数。
根据 cppreference 的复杂性是:
线性。 但是,如果 InputIt 额外满足 RandomAccessIterator 的要求,复杂度是不变的。
那么如果我传递一个迭代器和一个整数,程序如何推断它是什么迭代器以及它是如何实现的?那么该函数有 2 个重载还是什么?
【问题讨论】:
-
std::iterator_traits,见iterator_category。 -
对于这类查询,打开标准库的源代码并尝试通过阅读代码来理解它总是值得的。在 linux 上,它通常可以在
/usr/include/c++/<version>下找到。 -
在windods上,@PaulRooney?
-
不确定抱歉,我手边没有窗户。不过搜索起来并不难。
标签: c++ stl iterator time-complexity