簡體   English   中英

為 std::bind 創建模板包裝器

[英]Creating A Template Wrapper for std::bind

我正在嘗試為 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 );

我不確定我想要實現的目標是否可能?

您可以將第二個模板參數設為非類型模板參數,即成員函數指針。

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

居住

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM