C++0x — будущая версия стандарта языка C++, вместо ныне существующего ISO/IEC 14882:2003. На текущий момент доступен C++0x Technical Report 1 (TR1).
В последней версии Microsoft Visual Studio 2010 есть поддержка небольшой части разрабатываемого стандарта, а именно:
1. Выведение типов и ключевое слово auto
Можно объявлять переменные с неявным указанием типов:
int explicitTypedVar = 42;
decltype(explicitTypedVar) implicitTypedVar = 100500;
Ключевое слово auto, по сути, является аналогом var в C#:
auto doubleExplVar = 0.5;
auto intExplVar = 0;
Данное ключевое слово особенно полезно при работе с шаблонами и итераторами, вместо:
for (vector<int>::const_iterator itr = myvec.begin(); itr != myvec.end(); ++itr) { do something; }
можно написать более кратко:
for (auto itr = myvec.begin(); itr != myvec.end(); ++itr) { do something; }
Если же вам во время разработки придется поменять тип myvec на, к примеру, vector<pair<int, double>> — вам не надо будет волноваться о замене типов всех объявленных итераторов, поскольку об этом побеспокоится компилятор благодаря ключевому слову auto.
читать далее на сайте Microsoft User Group Винница…