gpt4 book ai didi

c++ - 为 std::bind 创建模板包装器

转载 作者:行者123 更新时间:2023-11-30 04:46:41 25 4
gpt4 key购买 nike

我正在尝试为 std::bind 创建一个简单的包装函数,它将采用一个成员函数。

template<typename T, typename F>
void myBindFunction(T &t)
{
std::bind(T::F, t );
}

MyClass a = MyClass();
myBindFunction <MyClass, &MyClass::m_Function>( a );

我不确定我正在努力实现的目标是否可行?

最佳答案

您可以将第二个模板参数设置为 non-type template parameter ,即成员函数指针。

template<typename T, void(T::*F)()>
void myBindFunction(T &t)
{
std::bind(F, t); // bind the member function pointer with the object t
}

LIVE

关于c++ - 为 std::bind 创建模板包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56619119/

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