Boost - unordered_set учебник / примеры / НИЧЕГО?

Я хотел бы использовать unordered_set в проекте.

Однако документация к нему либо неполная, либо просто техническая справка, примеров нет.

Может ли кто-нибудь предоставить ссылки на онлайн-ресурсы, которые занимаются этим? Книги тоже приветствуются, желательно бесплатно. Поиск в Google ничего не дал.

Спасибо!

4 ответа

Решение

Там есть небольшие документы, потому что он ведет себя так же, как std::set, за исключением того, что он требует функции хеширования и равенства вместо функции сравнения. Просто посмотрите примеры для std::set и замените их std::unordered_set и ты должен быть в порядке.

Если вам нужно написать функцию хеширования, в документах есть примеры, т.е.

Код для наиболее распространенного варианта использования:

#include <boost/unordered_set.hpp>
using boost::unordered_set;
using std::string;
using std::cout;
using std::endl;

int main (void)
{   
    // Initialize set
    unordered_set<string> s;
    s.insert("red");
    s.insert("green");
    s.insert("blue");

    // Search for membership
    if(s.find("red") != s.end())
        cout << "found red" << endl;
    if(s.find("purple") != s.end())
        cout << "found purple" << endl;
    if(s.find("blue") != s.end())
        cout << "found blue" << endl;

    return 0;
}

Выход

found red
found blue

Дополнительная информация

http://www.cplusplus.com/reference/unordered_set/unordered_set/find/

Контейнеры надстройки - это, по сути, реализация интерфейса, впервые определенного Техническим отчетом стандартной библиотеки C++ (известного как TR1), как упоминалось в документах наддува. Похоже, они уже являются частью рабочего проекта новых стандартов. Google выдает больше документации / примеров, если вы ищете tr1 и unordered_set. Мне нравится ссылка на MSDN, в которой также есть несколько примеров:

http://msdn.microsoft.com/en-us/library/bb982739.aspx

http://www.google.de/search?q=tr1+unordered_set

Я бы попробовал использовать те же методы доступа, которые вы используете на std::set или другие контейнеры, http://www.boost.org/doc/libs/1_37_0/doc/html/unordered.html похоже, согласен.

Другие вопросы по тегам