remove_if的用法,浅谈
来源:互联网 发布:上海黄金 行情软件 编辑:程序博客网 时间:2024/04/28 22:48
1、需要的头文件:
#include <algorithm>
2、参数说明
remove_if的前两个参数不难理解。
第三个参数可以是返回bool的函数指针,也可以是重载=(bool operator() (…))的类对象;从remove_if的函数定义往里面跟,可以看到这样一句:if (_Pred(*_First))。
3、示例代码
#include "stdafx.h"
#include <algorithm>
#include <iostream>
#include <vector>
using namespacestd;
class CTest
{
public:
CTest(intnData)
{
m_nData = nData;
}
bool operator() (const CTest & test)
{
if (test.m_nData > 5)
{
return true;
}
return false;
}
~CTest(){};
//private:
int m_nData;
};
bool Com(CTest test)
{
if (test.m_nData > 5)
{
return true;
}
return false;
}
bool intCom(int nData)
{
return (nData > 5);
}
int _tmain()
{
vector<CTest>tests;
vector<int> inttest;
for (inti=10; i>0; i--)
{
CTest test(i);
tests.push_back(test);
inttest.push_back(i);
}
for (vector<CTest>::iteratorit = tests.begin();it != tests.end();it++)
{
vector<CTest>::iteratoritEnd = remove_if(tests.begin(),tests.end(),CTest((*it).m_nData));
tests.erase(itEnd,tests.end());
}
for (vector<int>::iteratorit = inttest.begin();it != inttest.end();it++)
{
vector<int>::iteratoritEnd = remove_if(inttest.begin(),inttest.end(),intCom);
inttest.erase(itEnd,inttest.end());
}
system("pause");
return 0;
}
- remove_if的用法,浅谈
- STL-remove_if()的用法
- remove_if 的用法
- 关于remove_if的错误用法
- remove_if用法
- remove_if用法
- remove_if的误区
- remove_if的使用
- remove_if的使用
- 关于 STL 的 remove_if
- remove_if
- remove_if
- remove_if
- remove_if
- c++ 去除字符串中的空格和标点符号 (remove_if 函数的用法)
- remove_if函数的使用【转】
- std::list<>::remove_if的使用
- 浅谈DataSet 的用法
- Tomcat源码之Connector (1)
- StrictMode.StrictMode$AndroidBlockGuardPolicy.onNetwork
- 我们在囧途之技术管理者篇
- 静态链接不能包含使用引用文本的组件
- C++ 修改注册表的方法
- remove_if的用法,浅谈
- js中substring和substr及slice的用法
- 16进制NSString与NSData互转
- nginx 学习(一)
- Oracle基础知识-oracle常用命令
- jQuery中$与$()的区别?
- Java 观察者模式的浅析
- IOS动画
- JVM优化系列三:JVM参数设置、分析