0

この構造のノードを含むリストがあります。

private:
    char namefield[30];
    char tam[3];
    char type[1];
};

アルゴリズムクラスのfind関数で要素を見つけたいのですが、アイテムのnamefieldプロパティでやりたいのですが、find関数にはパラメーターとして検索するアイテムがありますが、問題はのプロパティを送信したいということですノード自体の代わりにノード..

4

1 に答える 1

0

find_if関数http://www.cplusplus.com/reference/algorithm/find_if/を使用できます。両方の構造体の名前フィールドが true の場合に true を返す、構造体の述語 (比較関数) を定義します。またはそのようなもの

class Cmp : public std::unary_function<mystruct, bool> {
    std::string m_str;
public: 
    Cmp(const std::string &str) : m_str(str) {}
    bool operator()(const mystruct &val) const {
        return m_str.compare(val.namefield) ==0;
    }
};

std::find_if(cont.begin(), cont.end(), Cmp("foo"));

構造体のコンテナはどこcontですか

于 2013-03-07T10:57:01.837 に答える