c – 如何在没有容器的情况下检查迭代器是否到达终点?

例如,如何在没有任何其他信息的情况下实现以下功能?

bool isEnd(set<int> :: iterator itr);

我知道我可以这样做,但如果没有输入变量“s”怎么办呢?

bool isEnd(const set<int> &s, set<int> :: iterator itr) {
    return itr == s.end();
}
最佳答案
使用标准C库,无法编写它.

std :: set可以实现为例如red-black trees,然后迭代器是里面的节点,你需要整个树来确定该节点是否是最后一个节点.

转载注明原文:c – 如何在没有容器的情况下检查迭代器是否到达终点? - 代码日志