我們試圖使用std :: deque擦除成員函數。 std :: deque erase(iterator)成員函數的返回值是一個隨機訪問迭代器,它指向在函數調用擦除的最後一個元素後面的元素的新位置,如果操作刪除序列中的最後一個元素。是否可以有效檢查STL std :: deque擦除是否成功?
我們想知道是否可以有效地檢查STL std :: deque擦除是否成功。謝謝。我們的代碼摘錄如下:
typedef std::multimap<char *,Range>::const_iterator I;
std::pair<I,I> b = mmultimap.equal_range(TmpPrevMapPtr);
for (I i=b.first; i != b.second; ++i){
std::deque<Range>::iterator iter;
std::deque<Range>::iterator it;
iter = std::lower_bound(ranges_type.begin(),ranges_type.end(),i->second);
if (iter != ranges_type.end() && !(i->second < *iter)){
it = ranges_type.erase(iter);
}
}
爲什麼這個標籤'linux'和'visual-C++'?這似乎是一個奇怪的組合。此外,你可能想要修復你的代碼塊。 – Sven 2011-06-09 15:20:17
Sven,我們試圖用於我們的原型推理的代碼必須在Linux和Windows Visual C++上工作。謝謝。 – Frank 2011-06-09 15:25:55
然後'C++'只要 – rubenvb 2011-06-09 15:58:43