как вставить в набор STL? - PullRequest
9 голосов
/ 22 марта 2012

У меня проблемы ... Я не уверен, что понимаю документацию STL. Допустим, у меня есть это:

#include <set>
...

struct foo
{
    int bar;
};

struct comp
{
    inline bool operator()(const foo& left,const foo& right)
    {
        return left.bar < right.bar;
    }
};

int main()
{
    std::set<foo,comp> fooset;  // Uses comparison struct/class object comp to sort the container

    ...

    return 0;
}

Как вставить struct foo в набор, используя мою собственную структуру сравнения?

1 Ответ

15 голосов
/ 22 марта 2012

Вы можете использовать метод set::insert, больше ничего не нужно делать. Например,

foo f1, f2;
f1.bar = 10;
f2.bar = 20;

fooset.insert(f1);
fooset.insert(f2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...