1
わかりやすくするために、次の例のstd :: bind1st/2ndのboost :: bindの呼び出しを置き換えることはできますか?または、参照を返すことができないのですか?boost :: bindをbind1st/2ndと置き換えることはできますか?
例(短縮):bind
のようなどちらbind1st
もbind2nd
過負荷operator==
が(別のファンクタを得るために)ないので
class Pos
{
public:
bool operator==(const Pos&);
...
}
class X
{
public:
const Pos& getPos() { return m_p; }
...
private:
Pos m_p;
}
...
Pos position;
std::vector<X> v;
std::vector<X>::iterator iter;
...
iter = std::find_if(v.begin(), v.end(), boost::bind(&X::getPos, _1) == position);
...
ありがとうございました。関数オブジェクトを使用して測定した後は、ターゲットシステムにとっては最速であることが判明しました。 – name