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++中使用__thread 0x
- 2. 如何在C++(C++ 0x)中使用'auto'?
- 3. C++ 0x random_device'std :: runtime_error'
- 4. C++ 0x線程
- 5. C++ 0x中
- 6. template typedef C++ 0x
- 7. 使用C++編譯wxWidgets 0x標誌
- 8. 使用Eclipse構建C++ 0x功能
- 9. 「雙師型」 與的C++ 0x
- 10. VS 2008中的C++ 0x errror
- 11. 使用不推薦使用的綁定器和C++ 0x lambdas
- 12. 使用或不使用C++ 0x特性的
- 13. 確定C++ 0x可用性
- 14. 編譯CIMG用的C++ 0x和MinGW
- 15. 的C++ 0x右值引用和臨時
- 16. 沒有C++ 0x的C++ lambda函數?
- 17. C++ 0x與Qt Creator
- 18. 鐺++錯誤信息使用的C++ 0x時:打電話的
- 19. Qt:CONFIG + = C++ 11,但-std = C++ 0x
- 20. 的C++ 0x,與操作者的朋友「」()
- 21. 瞭解的C++ 0x的λ捕獲
- 22. 的C++ 0x的「標準格式」
- 23. 未知的選項:%{的strftime( 「%C」)}(%)= 0X%B \\
- 24. 如何使用範圍循環進行切片?的C++ 0x
- 25. 手工製作的自動模板(不使用C++ 0x)
- 26. 如何使用autoconf與C++ 0x特性的
- 27. 在生產中使用GCC的C++ 0x模式?
- 28. 關於在C++中使用r值的問題0x
- 29. 如何在g ++的-std = C++ 0x模式下使用strlcpy?
- 30. 使用地圖::在()中預先的C++ 0x
我確認gcc 4.5.2(mingw端口,如果有的話)。 – 2011-05-10 06:29:32