您的位置:首页 > 其它

函数对象

2015-09-13 21:19 225 查看
首先是定义函数对象:其实也就是定义一个public的operator()函数,其参数跟在()之后,用()括起来。返回值经常是bool型。

class compare{
public:
bool operator()(const string &a,const string &b ){
if(a[0]==b[0])
return true;
}
};
使用的时候,

<pre name="code" class="cpp">    compare hg;
vector<string>::iterator to_delete = unique(not_free_id.begin(),not_free_id.end(),hg);



或者

vector<string>::iterator to_delete = unique(not_free_id.begin(),not_free_id.end(),compare());

这个compare()的用法其实就是生成一个临时对象,并用这个临时对象为形参赋值。

比如

cout << int(100) << endl;

这样会在控制台打印出100,这个和上面的是一样的,都是生成临时对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: