2011-06-02 31 views

回答

6

它們都以C++ 03爲目標,是的。但他們也都有不符合標準的領域。 (GCC也是如此,順便說一句,任何一邊的球迷都會在嘴邊開始發泡)。

但請記住,C++ 03基本上是一個非常小的修補程序發行版,可以確定合理的編譯器無論如何都會做的一些「常識」事情(例如,在C++ 98中,嚴格來說,可能有不連續地分配向量。C++ 03禁止這一點,但每一個理智的編譯器廠商會用連續的載體反正,因爲這是矢量打算什麼)

GCC沒有按」甚至沒有C++ 03標準設置。你告訴它的目標是C++ 98(與std=c++98),它實際上是以C++ 03爲目標的),我不知道編譯器實際上是在區分這兩者,因爲這些變化很少,而且很明顯

+0

@jalf:剛注意到你刪除了對我的答案的查詢評論,我引用了什麼不正確的? – 2011-06-02 08:19:02

+0

事實上,他們首先希望將C++ 03作爲一個TC,但最終因爲某種形式而最終成爲新的IIRC標準版本。 – 2011-06-02 08:20:00

+0

[這是MSVC2008非標準功能的列表](http://msdn.microsoft.com/en-us/library/x84h5b78%28v=vs.90%29.aspx)。我沒有找到類似的GCC,你能提供嗎? (不是「fanboying」我只是誠實地好奇它) – 2011-06-02 08:29:20

1

是,VS2005 & VS2008均遵循C++03。他們確實支持C++0x的一些功能,但它們並不完全符合C++0x,很可能沒有一個編譯器是在最終規範發佈之後的一刻。 GCC目前比任何其他編譯器都支持C++0x

C++ 0x尚未發佈。最終規範預計將在2011年中期發佈。你應該看到this

+0

這是一個有點誤導,最終草案已經完成,這意味着這個標準將不會有任何變化,直到實際的標準化是政治還剩下什麼 – 2011-06-02 08:08:49

0

是的,他們都遵循C++ 03。 VS2010有一些C++ 0x功能。目前最完整的功能支持由GCC提供。

+0

另外一個注意事項是C++ 0x已經正式發佈了嗎? – 2011-06-02 08:05:44

+0

這是Visual Studio 9和10中提供的具有C++ 0x功能的表格http://blogs.msdn.com/b/vcblog/archive/2010/04/06/c-0x-core-language-features-in -vc10-the-table.aspx – 2011-06-02 08:06:33

+2

@Gunner:nope。委員會已經制定了最終草案,即將由ISO成員國進行表決。今年晚些時候,選票應該在,ISO需要一個月的時間或兩個來在它周圍綁上一條絲帶,然後將所有東西都包起來,然後它將正式出版。 – jalf 2011-06-02 08:13:03