我想知道兩個迭代器是否共享相同的迭代器。喜歡這裏:分享迭代器是否可迭代?
typedef std::list<int> IntList;
IntList l;
IntList j;
// fill the lists
IntList::iterator start = l.begin();
IntList::iterator end = j.end();
std::cout << std::distance(start, end) << std::endl;
這段代碼不工作,對我來說它爲什麼不很清透:有沒有可能跟隨一個迭代器,直到它到達其他和計數的步驟。
但是對我來說,最好找出兩個迭代器是否指向同一個迭代器。用例是我有列表和切片,而切片有一個開始和一個結束指向列表中的某個地方。我想知道的是如果兩個切片共享相同的列表。解決方法是爲切片提供一個指向列表的指針,當然,然後簡單地比較這些指針。但有趣的是知道是否有另一種方式。
發現兩個切片是否共享相同列表的用例是什麼? – 2011-12-16 08:01:57
@JeffreyYasskin,我想合併連續的切片。我可以測試片的開始和結束是相同的,但我想實現一個更智能的算法。 – 2011-12-16 08:06:41