Я обработки с некоторыми мультиплатформенной унаследованного кода, и существует требование, которое должно составить на Visual Studio 2005.C++ 11 на Visual Studio 2005
VS 2005 поддерживает C++ 11?
Я обработки с некоторыми мультиплатформенной унаследованного кода, и существует требование, которое должно составить на Visual Studio 2005.C++ 11 на Visual Studio 2005
VS 2005 поддерживает C++ 11?
Нет, это не так.
В VS2008 есть TR1 (assuming sufficient service packs), которые представляют собой некоторые новые компоненты стандартной библиотеки, такие как std :: tr1 :: shared_ptr, которые вошли в стандарт с C++ 11, но у нее нет новых языковых функций такие как lambdas, ссылки rvalue и т. д., или библиотечные функции, такие как threading или std :: unique_ptr.
Вы можете получить тот же эффект в VS2005 с помощью библиотеки TR1 от Boost. Тогда, если вам нужна поддержка кросс-компилятора, вы можете сделать, например,
#include <boost/tr1/memory.hpp>
int main()
{
std::tr1::shared_ptr<int> pi(new int(42));
// ...
}
На платформах с их собственными реализациями TR1, подталкивания будет использовать те автоматически. На платформах без TR1 он будет использовать свою собственную реализацию, импортированную в пространство имен std :: tr1.
Спасибо! Это был ответ, который мне нужен. Пока мне не нужно компилироваться в VS2005. Может быть, я могу скомпилировать VS2010. Но мне нужно дождаться разворота Windows. Я пытаюсь убедить отказаться от VS2005! :) – Victor
FWIW. Вот список поддержки [C++ 11 в VS компиляторах с 2010 года вверх] (http://msdn.microsoft.com/en-us/library/hh567368.aspx). – metal
Функция, которую я использую, поддерживается только на VS2013! Microsoft - не лучший выбор! :( – Victor