これまでは、STLコンテナに対して直接操作を行うためにbind1st関数とbind2nd関数を使用しました。STLを使用して複数の関数引数をバインドする
class X { public: std::string getName() const; };
私はfor_eachを使用して、次の静的関数を呼び出すようにしたい、そのように第一及び第二のパラメータの両方を結合:
StaticFuncClass私は今simplicitiesのために以下の通りですMyBaseクラスのポインタのコンテナを持っています:: doSomething(ptr-> getName()、funcReturningString());
for_eachを使用して、この関数の両方のパラメータをバインドするにはどうすればよいですか?
私はの線に沿って何かを探しています:
for_each(ctr.begin(), ctr.end(), bind2Args(StaticFuncClass::doSomething(), mem_fun(&X::getName), funcReturningString());
私はブーストがここで使用であろう何かのように見える、独自のバインド機能を提供していますが、STLのソリューションは何である参照してください?
ご回答いただきありがとうございます。
だけ明確にすること、各要素 'e'のためにシーケンス、あなたは 'StaticFuncClass :: doSomething(e.getName()、funcReturningString())'を呼び出すには? – jalf
はい...技術的には、コンテナ内の要素がポインタなので、e-> getName()となります。 –