从deque中删除和位于某个位置的对象
Deleting and object in a position from a deque
我有这个代码:
bool tuple_compare(boost::tuple<ppa::Node*, ppa::Node*, ppa::Node*, bool> &tuple_from_done)
{
for(int i = 0; i < deque_wait.size(); i++) {
boost::tuple<ppa::Node*, ppa::Node*, ppa::Node*, bool> tuple_from_wait = deque_wait.at(i);
ppa::Node *father = boost::get<0>(tuple_from_wait);
ppa::Node *son = boost::get<0>(tuple_from_wait);
ppa::Node *second_son = boost::get<2>(tuple_from_wait);
bool has_seq = boost::get<3>(tuple_from_wait);
cout << "checking this two " << boost::get<1>(tuple_from_wait)->get_name() << " bool sequence "
<< boost::get<1>(tuple_from_wait)->node_has_sequence_object << " and this "
<< boost::get<2>(tuple_from_wait)->get_name() << " bool seq " << boost::get<2>(tuple_from_wait)->node_has_sequence_object
<< " with " << boost::get<0>(tuple_from_done)->get_name() << endl;
if(boost::get<0>(tuple_from_done)->get_name() == boost::get<1>(tuple_from_wait)->get_name()
|| boost::get<0>(tuple_from_done)->get_name() == boost::get<2>(tuple_from_wait)->get_name())
{
cout << " found in here this we need to check if there is something if the sons have a sequences!!!! " << endl;
if(boost::get<1>(tuple_from_wait)->node_has_sequence_object == true && boost::get<2>(tuple_from_wait)->node_has_sequence_object == true)
{
cout << " ding, ding, we have one ready!!!" << endl;
return true;
}
else
{
cout << "not ready yet" << endl;
}
}
}
return false;
}
现在我需要删除在"ding,ding"行中找到的对象,但我不知道如何做,我知道迭代器使用得很好。我实际上必须从deque_wait中删除这个元组,并将其移动到deque_run,但我还不太理解这些,所以你能帮我吗,谢谢。
deque_wait.erase(deque_wait.begin() + i);
// ^^^^^^^^^^^^^^^^^^^^^^
// that's an iterator
deque
支持随机访问迭代器,这与指针非常相似(事实上,指针是一种随机访问迭代器),因此您可以获得begin迭代器并向其添加一个整数以获得偏移量,就像使用指针一样。
相关文章:
- 将值指定给向量(2D)的向量中的某个位置
- 将一个向量插入另一个向量的某个位置
- 在某个位置划分链表
- 在双链表中的某个位置删除
- 有没有办法在unordered_map的某个位置插入元素
- 有没有办法请求在C 中读取文本文件的某个位置
- 检查向量是否在某个位置未初始化
- 创建相对于世界位置而不是屏幕位置的形状
- 如何在不删除任何字符的情况下将字符从字符串中的某个位置移动到其最前面
- 在链接列表C 中的某个位置插入节点
- C++-如何将字符附加到字符串中的某个位置
- 从deque中删除和位于某个位置的对象
- 将内存从char*复制到较大char*中的某个位置
- 将图像放置在较大图像的某个位置
- 我目前正在使用C++生成器 6 XE4 来开发财务图表.移动到图表画布上的某个位置时出现异常
- 我的字节数组到十六进制字符串转换器有什么问题,或者为什么它在写入文件时会在某个位置后剪切符号?
- 将字节数复制到内存中的某个位置
- 如何获取哪个整数位于集合中的某个位置
- 在Qt中如何处理相对于光标位置的光标形状
- 为什么我的SDL 2应用程序中的帧速率减半,除非我在某个位置移动鼠标