gpt4 book ai didi

c++ - "cast"指向 C++ 中函数指针的成员函数指针的最简单方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:15 24 4
gpt4 key购买 nike

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

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

最佳答案

这是 std::mem_funstd::mem_fun_ref 最常见的用法。它们是创建调用指定成员函数的仿函数的模板。 TR1 添加了一个 std::tr1::bind,它也很有用且用途更广(如果您没有可用的 TR1,那是基于 Boost::bind 的)。 C++0x 将在标准库中包含 std::bind(与 TR1 相比几乎没有变化)。

关于c++ - "cast"指向 C++ 中函数指针的成员函数指针的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3287096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com