unordered_map我使用被包括作爲unordered_map
: #include <unordered_map>
並且程序如下編譯: g++ Test.cc -std=gnu++0x -o test
我使用TR1的unordered_map
或的C++ 0x的。或者它們都是一樣的?使用的的C++ 0x
5
A
回答
6
我相信,海灣合作委員會提出的TR1頭在<tr1/unordered_map>
,所以你應該得到的C++ 11版本。但他們非常相似。
3
GCC有TR1頭在TR1子目錄。另外還有tr1命名空間。
#include <tr1/unordered_map>
...
std::tr1::unordered_map<...>(...);
所以除非你專門做了這些事情或做了類似的「使用」,你已經得到了std的。
這些實現分裂,但他們是相當類似的。剛好有足夠的差異(initializer_list,比較操作)來維護一個文件,所有的條件和宏都很痛苦。
0
這在很大程度上取決於具體的編譯器版本。例如,GCC 4.4基本上只是有你-std=c++0x
選擇適當做命名空間標記一些宏觀的開關,但將永遠結束了從tr1_impl/unordered_map
拉動實際的代碼,而GCC 4.6有兩個完全不同的實現,一個在tr1/unordered_map.h
,一個在bits/unordered_map.h
- .../hashtable.h
中的相應基類實現確實有所不同;在的C++ 0x版本有std::forward
到處都是等
簡短的回答:這要看情況。
相關問題
- 1. 如何在C++(C++ 0x)中使用'auto'?
- 2. C++ 0x中
- 3. C++ 0x線程
- 4. C++ 0x - 何時?
- 5. template typedef C++ 0x
- 6. 使用Eclipse構建C++ 0x功能
- 7. 「雙師型」 與的C++ 0x
- 8. 使用不推薦使用的綁定器和C++ 0x lambdas
- 9. 使用或不使用C++ 0x特性的
- 10. 確定C++ 0x可用性
- 11. 的C++ 0x右值引用和臨時
- 12. 沒有C++ 0x的C++ lambda函數?
- 13. 鐺++錯誤信息使用的C++ 0x時:打電話的
- 14. C++ 0x與Qt Creator
- 15. 的C++ 0x的「標準格式」
- 16. 瞭解的C++ 0x的λ捕獲
- 17. 在生產中使用GCC的C++ 0x模式?
- 18. 使用地圖::在()中預先的C++ 0x
- 19. 如何使用範圍循環進行切片?的C++ 0x
- 20. 手工製作的自動模板(不使用C++ 0x)
- 21. 如何使用autoconf與C++ 0x特性的
- 22. 關於在C++中使用r值的問題0x
- 23. 使用clang編譯失敗,使用libstdC++ 4.4.7和-std = C++ 0x
- 24. 如何構建NS-3以使用C++ 0x/C++ 11庫?
- 25. C++ 0x的圖書館計劃?
- 26. 有問題的std :: C++ 0x中
- 27. 支持C++的最低iOS版本0x
- 28. C++ 0x中wchar_t的命運是什麼?
- 29. 實現移動fstreams的C++ 0x庫
- 30. 帶有模板參數的C++ 0x lambdas?
我確認gcc 4.5.2(mingw端口,如果有的話)。 – 2011-05-10 06:29:32