Visualization Tool Kit(VTK)など

非スタティックメンバ関数をメンバ関数ポインタを使って呼ぶためにはクラスのインスタンスが当然必要である。
クラスのインスタンスを第一引数として渡せるようにするのがmem_funである。

  void (A::*pFunc)() = &A::Func; //メンバ関数のポインタ
  A a;
  a.*pFunc(); // 呼び出すにはインスタンスaが必要

  std::mem_fun(&A::Func)(a); // こういう呼び出し方 template<> mem_fun::operator()(A& a)

  // std.tr1.bind や boost.bindを使えば関数オブジェクトになる
  boost::bind(&A::Func, boost::ref(a))();

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

メニュー

チュートリアル

アルゴリズム(数学)

並列計算

STL

#include<memory> #include<string> #include<sstream> #include<algorithm> #include<functional> #include<numeric>

Media Foundation

【メニュー編集】
Wiki記法ガイド

メンバーのみ編集できます