What is the recommended resource(s) for learning the new features in C++11? Is there any book on it yet? Does latest versions of g++/Visual Studio support it?
The current versions of g++ and VC++ each support some features of C++11, but neither supports everything (overall, I'd say g++ currently supports more of the new features though). MS has revealed what they plan to add to the next version of VC++; the short summary is "not a lot". Both do, however, have some fairly important new features covered pretty well (e.g., both seem to handle lambdas pretty well).
As far as resources like books go, they're currently pretty meager. C++ Concurrency in action (by Anthony Williams) covers the new threading library, but that's nearly the only one (and it's obviously covers only one new aspect).
C++11 was only just standardized, so any compiler support is experimental because it wasn't a standard when support was introduced. Apache has a wiki article that lists which compilers support which C++11 features.
Source: http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport
gcc is the best bet at this point. gcc 4.5 supports a majority of features and is in pretty much every recent Linux distribution now. Obviously newer versions are better. Their support page explains which versions support which features.
Source: http://gcc.gnu.org/projects/cxx0x.html
Visual Studio 10 has decent support. This MSDN blog article lists which features are supported in 10 and are planned for 11.
Source: http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx
The Intel C++ compiler seems to be the only other compiler with decent support. I don't know much about it though and I don't think it's free. According to this article version 12 seems to be decent, but I'm not sure if that's released or in development.
Source: http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
The Wikipedia page about C++11 has a nice list of features, but it might not be exhaustive. The status of C++11 support in GCC can be found here, in Clang it can be found here.
精彩评论