He descargado y compilado gcc 4.6.2. Encuentro que para las características de C++ 11, la opción de línea de comando -std=c++0x
sigue siendo necesaria. ¿Porqué es eso? ¿No se supone que es compatible por defecto?¿Por qué es necesario "-std = C++ 0x" para g ++ 4.6.2?
$ g++ --version
g++ (GCC) 4.6.2
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Interesante pregunta. Otros compiladores (VC10) eligieron incluir las nuevas características por defecto. Realmente me pregunto por qué tomaron caminos diferentes aquí. – ereOn
Estoy más molesto por el hecho de que el valor predeterminado ni siquiera es '-std = C++ 98' –
Keep It Simple, Stupid. ¿Quieres usar otro estándar? Especifíquelo O incluso siempre especifique el estándar a usar. Si eso no es de su gusto, use un IDE que lo configurará automáticamente. O reutilice un archivo de configuración adicional de Makefile. – Geoffroy