他们都遵循2003年发布的C ++ 03吗?
答案 0 :(得分:7)
他们都瞄准C ++ 03,是的。但他们也都有不符合标准的领域。 (GCC也是如此,顺便说一下,在任何一方的任何一个粉丝开始在嘴里起泡之前)。
但请记住,C ++ 03基本上是一个非常小的错误修正版本,确定了一些敏感的编译器本来会做的“常识”事情(例如,在C ++ 98中,它是严格的说,可能有不连续分配的向量.C ++ 03禁止这样做,但每个理智的编译器供应商都会使用连续的向量无论如何,因为这就是矢量的用途)
GCC甚至没有C ++ 03标准设置。你告诉它以C ++ 98为目标(std=c++98)
,它实际上是以C ++ 03为目标。我不知道编译器实际上区分了两者,因为变化很少,显而易见。
答案 1 :(得分:1)
是的,VS2005
& VS2008
都跟随C++03
。它们确实支持C++0x
的某些功能,但它们并不完全符合C++0x
,很可能目前没有任何编译器,因为最终规范尚未发布。 GCC
目前比任何其他编译器都更符合C++0x
。
C ++ 0x尚未发布。最终规范预计将于2011年中期发布。
您应该看到this。
答案 2 :(得分:0)
是的,他们都遵循C ++ 03。 VS2010具有一些C ++ 0x功能。目前GCC提供了最完整的功能支持。