2011-06-02 8 views

Respuesta

6

Ambos tienen como objetivo C++ 03, sí. Pero también tienen áreas en las que no cumplen con el estándar. (Lo mismo hace GCC, por cierto, antes de que cualquier fanboys en cada lado comience a hacer espuma en la boca).

Pero tenga en cuenta que C++ 03 es básicamente una versión de corrección de errores muy pequeña, que establece algunas cosas de "sentido común" que los compiladores sensatos habrían hecho de todos modos (por ejemplo, en C++ 98, fue, estrictamente hablando, posible tener vectores que no están asignadas de forma contigua. 03 C++ prohíbe eso, sino que cada vendedor compilador sano juicio habría utilizado vectores contiguos de todos modos, porque eso es lo que los vectores están destinados a)

GCC doesn' t incluso tiene una configuración estándar C++ 03. Le dices que meta C++ 98 (con std=c++98), y en realidad se dirige a C++ 03 en su lugar. No conozco un compilador que realmente haga una distinción entre los dos, porque los cambios son muy pocos, y tan obvios

+0

@jalf: Acabo de notar que borraste el comentario de la consulta de mi respuesta. ¿Dije algo incorrecto? –

+0

En realidad, primero querían tener C++ 03 como TC, pero al final debido a alguna formalidad terminó como una nueva versión estándar de IIRC. –

+0

[Aquí hay una lista de características no estándar de MSVC2008] (http://msdn.microsoft.com/en-us/library/x84h5b78%28v=vs.90%29.aspx). No encontré un similar para GCC, ¿puede proporcionar uno? (no "fanboying", estoy sinceramente curioso al respecto) –

1

Sí, VS2005 & VS2008 ambos siguen C++03. Aunque sí admiten algunas características de C++0x, pero no son totalmente compatibles con C++0x, probablemente ninguno de los compiladores se encuentre en este momento, ya que la especificación final se publicará. GCC cumple con el estándar C++0x que cualquier otro compilador en este momento.

C++ 0x aún no se ha publicado. Se espera que la especificación final se publique en algún momento a mediados de 2011.

Debería ver this.

+0

Eso es un poco engañoso. El borrador final ya está terminado, lo que significa que no habrá cambios en este estándar. Lo que queda hasta la estandarización real es política –

0

Sí, ambos siguen C++ 03. VS2010 tiene algunas características de C++ 0x. El soporte de características más completo lo ofrece GCC en este momento.

+0

Una nota adicional, ¿C++ 0x ya se lanzó oficialmente? –

+0

esta es una tabla con las características de C++ 0x disponibles en VisualStudio 9 y 10 http://blogs.msdn.com/b/vcblog/archive/2010/04/06/c-0x-core-language-features-in -vc10-the-table.aspx –

+2

@Gunner: no. El comité ha realizado el borrador final, que está a punto de ser votado por los países miembros de ISO. Más adelante este año, los votos deberían estar en vigencia, ISO tomará un mes o dos a ate una cinta alrededor y envuelva todo, y luego será publicado oficialmente. – jalf

Cuestiones relacionadas