如何在gcc v4.1.2中获取unordered_set的头

How to get headers for unordered_set in gcc v4.1.2?

本文关键字:unordered 获取 set 的头 gcc v4      更新时间:2023-10-16

我想在不安装Boost的情况下使用unordered_set。我尝试添加--std=gnu++0x,但它不是可识别的选项。v4.1.2是否包含unordered_set?如果是,我如何获取它的头文件?

这是一台Centos 4机器。

unordered_set属于标准C++库的权限,而不是编译器gcc的权限(尽管大多数使用gcc构建的程序都与libstdc++链接)。

通常包括它的方式是#include <tr1/unordered_set>。然后,要使用它,您必须执行using std::tr1::unordered_set;或每次限定名称。

您选择使用的C++标准版本没有太大影响,因为这是语言标准,并且标准库结构的可用性是半独立的。

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容器?