从C++列表中删除一次
Removing once from C++ List
我有以下示例:
// remove from list
#include <iostream>
#include <list>
using namespace std;
int main ()
{
int myints[]= {17,89,89,7,14};
list<int> mylist (myints,myints+5);
mylist.remove(89);
cout << "mylist contains:";
for (list<int>::iterator it=mylist.begin(); it!=mylist.end(); ++it)
cout << " " << *it;
cout << endl;
return 0;
}
结果是:
17, 7, 14
这样做的问题在于,它删除了89的两个实例。有什么简单的方法可以删除89的一个实例吗?
不,没有。你可以这样做:
mylist.erase(find(mylist.begin(), mylist.end(), 89));
相关文章:
- 我是否需要在下一次转移时将所有权*转移回转移队列
- 使用仅使用一次的变量调用的复制构造函数.这可能是通过调用move构造函数进行编译器优化的情况吗
- 在C++中一次将矢量值写入多个文件
- 循环中的条件:为什么每次都调用strlen(),而vector.size()只调用一次
- 如何一次删除"cmake -D"定义的所有变量?
- 为什么我的破坏者只称呼一次,而不是在删除(a)调用上
- 如何在返回一次数据后从类实例中删除数据
- STD :: MAP-如何查找或添加,然后可以在一次搜索中删除项目
- 使用 std::unique 和 vector.erase 删除除最后一次出现的重复元素之外的所有元素
- 从C++列表中删除一次
- 删除字符C++最后一次出现时字符数组的开头
- 如何在最后一次EOL后删除文件的内容
- 如何在C++中只从列表中删除一次特定元素
- 一次删除多个节点链接列表
- 一次删除整个二进制搜索树
- 如何在c++中删除一对重复出现的列表?(保留只出现一次的元素)
- 如何删除一次制作的所有纹理
- 通过一次迭代删除字符串中的所有逗号、句点和小写字母
- SQLite在最后一次引用共享行时删除该行
- 如何一次创建、处理和删除多个窗口