我很高興看到,地圖::在()加入到C++ 11,但在周圍挖,我看這就是它在GCC庫中已經定義,並使用-std = C++ 0x,和 C++ 98。使用地圖::在()中預先的C++ 0x
使用帶的C++ 0x前的標準考慮便攜編譯代碼這種方法嗎?
我很高興看到,地圖::在()加入到C++ 11,但在周圍挖,我看這就是它在GCC庫中已經定義,並使用-std = C++ 0x,和 C++ 98。使用地圖::在()中預先的C++ 0x
使用帶的C++ 0x前的標準考慮便攜編譯代碼這種方法嗎?
我想你誤解了什麼-std=c++0x
手段。從C dialect options:
'C++ 11'
'的C++ 0x'
2011年的ISO C++標準的修訂加。對C++ 11的支持仍然是實驗性的,並且在未來的 版本中可能會以不兼容的方式進行更改。名稱'C++ 0x'已棄用。
正如你可以看到c++0x
和c++11
是等價的,c++0x
已被棄用。
它肯定不意味着「前C++ 0x」 – 2013-02-23 00:23:03
是的,我不完全清楚。它也適用於C++ 98。 – 2013-02-24 01:09:52
@AndrewP:它在libstC++中已經存在了一段時間,但是不能保證存在於其他C++ 98庫中(例如,Microsoft從MSVC2010實現它)。 – 2013-02-24 21:55:18
這是從C + + 11,所以是的,它支持C++ 11的任何實現應該支持標準的一部分。 – 2013-02-23 00:08:22
@JesseGood:雖然OP提到'-std = C++ 0x'。這相當於'-std = C++ 11'嗎? – 2013-02-23 00:09:06
是的,它們是等價的,但'-std = C++ 0x'已棄用於'-std = C++ 11'。 – 2013-02-23 00:09:35