Каков рекомендуемый ресурс для изучения новых функций на С++ 11? Есть ли еще книга? Поддерживают ли последние версии g++/Visual Studio?
Ресурсы и компиляторы С++ 11
Ответ 1
Текущие версии g++ и VС++ поддерживают некоторые функции С++ 11, но не поддерживают все (в общем, я бы сказал, что g++ в настоящее время поддерживает больше новых функций). MS раскрыла, что они планируют добавить к следующей версии VС++; краткое резюме "не много". Тем не менее, у обоих есть некоторые довольно важные новые функции, которые довольно хорошо покрываются (например, оба, похоже, хорошо справляются с лямбдами).
Что касается ресурсов, подобных книгам, то они в настоящее время довольно скудны. С++ Concurrency в действии (Энтони Уильямс) охватывает новую библиотеку потоков, но это почти единственная (и она, очевидно, охватывает только один новый аспект).
Ответ 2
С++ 11 был только стандартизирован, поэтому любая поддержка компилятора является экспериментальной, поскольку она не была стандартом, когда была введена поддержка. В Apache есть статья wiki, в которой перечислены, какие компиляторы поддерживают функции С++ 11.
Источник: http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport
gcc - лучший выбор на этом этапе. gcc 4.5 поддерживает большинство функций и почти во всех последних дистрибутивах Linux теперь. Очевидно, что более новые версии лучше. Их страница поддержки объясняет, какие версии поддерживают те функции.
Источник: http://gcc.gnu.org/projects/cxx0x.html
Visual Studio 10 имеет достойную поддержку. В этой статье в блоге MSDN перечислены функции, поддерживаемые в 10 и запланированные на 11.
Источник: http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx
Компилятор Intel С++, похоже, единственный компилятор с достойной поддержкой. Я мало что знаю об этом, и я не думаю, что это бесплатно. Согласно этой статье, версия 12 кажется приличной, но я не уверен, что она выпущена или находится в разработке.
Источник: http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
Ответ 3
На странице Википедии о С++ 11 есть хороший список функций, но он может быть не исчерпывающим. Статус поддержки С++ 11 в GCC можно найти здесь, в Clang it можно найти здесь.