From the GCC C ++ 0x page:
GCC C ++ 11 mode implements most of the C ++ 11 standard created by the ISO C ++ Committee. The standard is available from various national standardization bodies; Working papers prior to the release of the standards are available on the ISO C ++ Standard Committee website at http://www.open-std.org/jtc1/sc22/wg21/ Since this standard has only recently been completed, the feature set provided by the experimental C ++ 11 mode can vary greatly from one version of GCC to another. No, attempts will be made to maintain backward compatibility with the C ++ 11 function, whose semantics changed during the C ++ 11 standardization.
The std=c++11 flag was also introduced in GCC 4.7. From man gcc (I did not find it in info gcc ):
c++11 c++0x The 2011 ISO C++ standard plus amendments. Support for C++11 is still experimental, and may change in incompatible ways in future releases. The name c++0x is deprecated.
I suppose this means that in the latest version of the compiler, the flags are identical, but instead you should prefer c++11 to avoid possible errors.
From the info gcc command:
The default value, if C ++ dialects are not specified, is '-std = GNU ++, 98'.
This means c++98 with extensions.
user1508519
source share