Как получить заголовки для unordered_set в gcc v4.1.2? - PullRequest
2 голосов
/ 28 января 2012

Я бы хотел использовать unordered_set без установки Boost.Я пытался добавить --std=gnu++0x, но это не распознанная опция.V4.1.2 включает unordered_set?Если да, как мне получить файл заголовка для него?

Это машина Centos 4.

Ответы [ 2 ]

3 голосов
/ 28 января 2012

unordered_set входит в компетенцию стандартной библиотеки C ++, а не gcc, компилятора (хотя большинство программ, созданных с использованием gcc, связаны с libstdc++).

Как вы обычно делаетевключите это #include <tr1/unordered_set>.Затем, чтобы использовать его, вы должны либо using std::tr1::unordered_set;, либо каждый раз уточнять имя.

Стандартная версия C ++, которую вы выбираете, не имеет большого эффекта, потому что это язык стандарт, и наличие стандартных конструкций библиотеки является полунезависимым.

0 голосов
/ 29 января 2012

IIRC, gcc-4.2 не имеет неупорядоченных контейнеров, по крайней мере, в пространстве имен std.Я знаю, что -std = c ++ 0x не работал до gcc-4.3.

Вы пробовали это:

#include <tr1/unordered_set>
...
  std::tr1::unordered_set<int> usint;
...

Обратите внимание на tr1 / в заголовке.

Сказав это, gcc-4.1 довольно старый.Есть ли шанс, что вы можете сказать gcc-4.5 или 4.6 и использовать контейнер std?

...