作为谓词的成员函数比较
我有这样的结构。
struct A
{
int someFun() const;
int _value;
};
我将这种结构的对象存储在向量中。
-
如何找到其成员
someFun()
返回42
的对象? -
如何查找
_value
为42
的对象?
我想我必须使用 bind
和 equal_to
的组合,但我找不到正确的语法。
vector<A> va;
vector<A>::const_iterator val = find_if(va.begin(),va.end(),boost::bind(???,42));
编辑:
谢谢。但还有一个疑问。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您确实需要编写绑定表达式(例如,使用无法用
boost::bind
支持的运算符表达的函子
):这会导致对 functor::operator() 的调用,其参数如下:调用绑定表达式参数上的成员的结果,以及 42。
In case you do need to compose bind expressions (e.g. using a
functor
that cannot be expressed with the operators supported byboost::bind
):which results in a call to
functor::operator()
with arguments as follow: the result of calling the member on the argument to the bind expression, and 42.