gpt4 book ai didi

c++ - 是否可以有效地检查 STL std::deque 删除是否成功?

转载 作者:太空宇宙 更新时间:2023-11-04 15:52:03 26 4
gpt4 key购买 nike

我们正在尝试使用 std::deque 删除成员函数。 std::deque erase(iterator) 成员函数的返回值是一个随机访问迭代器,指向被函数调用删除的最后一个元素之后的元素的新位置,如果操作删除则为容器端序列中的最后一个元素。

我们想知道是否可以有效地检查 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);
}
}

最佳答案

std::deque::erase 总是成功(当然,除非它得到一个无效的迭代器,在这种情况下结果是未定义的)。

关于c++ - 是否可以有效地检查 STL std::deque 删除是否成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6295196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com