Hatena::Groupbabel

カーネルハッカーを目指す男の日記

 | 

2014-10-28

C++リファレンスサイトを見付けておおってなった話

01:12

C++の標準クラスやマクロの意味を調べていたら、下記のような便利サイト発見。

http://en.cppreference.com/w/

こりゃ便利。

std::placeholdersがよく解らんかったので調べてみる。

http://en.cppreference.com/w/cpp/utility/functional/placeholders

要するに、std::bindと組み合わせて使うときに、紐付けられた関数とその引数に、placeholderで指定した順番に、

後で渡したパラメーターを当てはめてくれるようだ。

std::bind(関数ポインタ, 関数を持つインスタンスへのポインタ, std::placeholders::_1 ←関数の一番目の引数に、指定したパラメーターがセットされる, ...);

これなら外から関数ポインタと座標指定して、うまいことコールバックを汎用的にできそうである。

つか

typedef std::function<void(const std::string&)> ExampleFunction;

みたいに、関数への参照を定義できるのね。

これだと、戻り値がvoid型の、引数が変更不可の文字列型の、関数への参照を保持する型の変数を定義って感じですかね。

うむうむ、先が見えてきた。

ゲスト



トラックバック - http://babel.g.hatena.ne.jp/hiro_sa/20141028
 |