C++にfunctionとbindバインディングクラスのメンバー関数を使用する方法を詳しく説明します。
普通のクラスを定義します。
カスタムパラメータを使用したいなら、プレースホルダ、std:placholders:u1,下図を見てもいいです。出力の値は4です。
C+11の新しい特性のlamban表現を使用して、[]があることに注意してください。この意味は現在の作用領域を変更できる変数です。このページは邦死状態になります。
ここで、C++の中でfunctionとbindバインディング類のメンバー関数を使う方法について詳しく説明した文章を紹介します。もっと関連したC++functionとbindバインディング類のメンバー関数の内容は以前の文章を検索してください。または下記の関連記事を引き続きご覧ください。これからもよろしくお願いします。
class Test1{
public:
void fun(int val){
cout<<"hello world "<<val<<endl;
}
};
最初のテストを開始します。
int main(){
Test1 t;
function<void(int)> pf = std::bind(&Test1::fun,t,2);
pf(4); //
return 0;
}
出力の値は2です。pfが入っている4は何の役にも立たないと説明しています。bindの時に値はすでにバインディングされていますが、pf()はパラメータに間違いがあります。カスタムパラメータを使用したいなら、プレースホルダ、std:placholders:u1,下図を見てもいいです。出力の値は4です。
int main(){
Test1 t;
function<void(int)> pf = std::bind(&Test1::fun,t,std::placeholders::_1);
pf(4);
return 0;
}
C+11の新しい特性のlamban表現を使用して、[]があることに注意してください。この意味は現在の作用領域を変更できる変数です。このページは邦死状態になります。
int main(){
Test1 t;
function<void(int)> pf = [&](int val){t.fun(2);};
pf(4);
return 0;
}
ですから宗上の言ったように、カスタムしたいなら、stdを使います。1…std::placholders::unでしょうここで、C++の中でfunctionとbindバインディング類のメンバー関数を使う方法について詳しく説明した文章を紹介します。もっと関連したC++functionとbindバインディング類のメンバー関数の内容は以前の文章を検索してください。または下記の関連記事を引き続きご覧ください。これからもよろしくお願いします。