For someone who wants his C++ code to be portable across the different C++ compilers, is it time to start using C++11, or is it going to be a while before the new standard is supported by all of the major compilers (VC, GCC, CLang, Intel)?
In other words, what's the status of C++11 support among the major compilers?
To see if your compiler has C++11 support, run it with just the --version option to get a print out of the version number. Do this for whichever compiler(s) you wish to use with Rosetta. Acceptable versions: GCC/g++: Version 4.8 or later.
C++11 allowed lambda functions to deduce the return type based on the type of the expression given to the return statement. C++14 provides this ability to all functions. It also extends these facilities to lambda functions, allowing return type deduction for functions that are not of the form return expression; .
C++11 was published as ISO/IEC 14882:2011 in September 2011 and is available for a fee. The working draft most similar to the published C++11 standard is N3337, dated 16 January 2012; it has only editorial corrections from the C++11 standard.
No, C++11 does not support ALL the features of C11. It does not even support all the features of C99. Variable-length arrays, for example, were introduced in C99, but C++ does not yet support them.
Clang (updated regularly):
http://clang.llvm.org/cxx_status.html
GCC 4.5 to 4.7 (updated regularly):
http://gcc.gnu.org/projects/cxx0x.html
Visual C++ 10 and 11 (a bit old, but newest I've found):
http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With