我想在不安裝Boost的情況下使用unordered_set。我試圖添加--std=gnu++0x
,但它不是一個公認的選項。 v4.1.2是否包含unordered_set?如果是這樣,我怎麼得到它的頭文件?如何在gcc v4.1.2中爲unordered_set獲取頭文件?
這是一臺Centos 4機器。
我想在不安裝Boost的情況下使用unordered_set。我試圖添加--std=gnu++0x
,但它不是一個公認的選項。 v4.1.2是否包含unordered_set?如果是這樣,我怎麼得到它的頭文件?如何在gcc 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 = 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容器?
http://stackoverflow.com/q/1228402/1172428威力給一些提示 – FatalError 2012-01-28 16:55:10