versiones novedades lenguaje diferencias descargar c++ gcc c++14

novedades - Diferencia entre las opciones de compilación de gcc std=c++ 1y y std=c++ 14



lenguaje c++ 11 (2)

En el caso de gcc 4.9.2 mencionado por usted, no hay diferencia entre c++14 y c++1y . Pero para la versión anterior de gcc, por ejemplo, gcc 4.8.1 no hay opción de c++14

g++: error: unrecognized command line option ''-std=c++14''

Porque el año de aceptación estándar aún no se conocía. En tales casos, el uso de la -std=c++1y es la única solución para habilitar algunas partes del estándar de c ++ 14 que se aproxima.

Instalé gcc 4.9.2. Compilé el programa usando el siguiente comando:

/root/gcc-4.9.2/bin/g++ -std=c++1y testing.cpp

Tenga en cuenta que además de la opción -std=c++1y , hay otra opción -std=c++14 . ¿Funcionará el compilador de la misma manera y generará exactamente el mismo ejecutable para ambas opciones?


C++ 14 es el último estándar ISO, y debe usarse a menos que necesite alguna característica no estándar de gcc.

c++1y es un nombre que se usó para referirse a la norma c ++ 14 antes de que se completara, por lo que es muy probable que se adhiera a un borrador de la norma, pero no a la norma en sí. Puede haber algunas diferencias mínimas entre los dos, pero c++14 es el estándar ISO.

En resumen, utilice c++14 .