I have some code written by me for MS VC++10. I use C++11 and, in particular, expressions like
std::function f =...;
auto it = v.begin();
for_e
For a list of C++11 features Clang currently supports, see this nice list. Lambda expressions (and syntactically related initialzer lists) are currently not implemented.
Your only choice for now (until Clang devs implement lambda support) is using MacPorts' GCC 4.5/4.6 compilers.
The extra command-line option would be -std=c++0x
(in the next version of Clang and GCC it will be the proper -std=c++11
).
You will need Xcode 4.2.
In your build settings, search for "c++0x" and set the "C++ Language Dialect to C++0x [-std=c++0x]". Then search for "libc++" and set the "C++ Standard Library" to "libc++".
Not all C++11 facilities are available. For example lambdas are not yet supported.