在 C++ 中将成员函数指针“转换”为函数指针的最简单方法是什么?

2024-03-04

我想为 STL 算法的“comp”参数提供一个成员函数,例如 lower_bound( ..., Compare comp )。 comp() 函数访问非静态成员字段,因此它本身必须是非静态成员,但非静态成员函数指针的类型与普通函数指针的类型不同。

解决这个问题的最佳方法是什么?


这是最常见的用法std::mem_fun and std::mem_fun_ref。它们是创建调用指定成员函数的函子的模板。 TR1 增加了一个std::tr1::bind这也很有用并且更通用(如果你没有可用的 TR1,那是基于Boost::bind http://www.boost.org/doc/libs/1_43_0/libs/bind/bind.html)。 C++0x 将包括std::bind在标准库中(与 TR1 相比几乎没有变化)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C++ 中将成员函数指针“转换”为函数指针的最简单方法是什么? 的相关文章

随机推荐