Подтвердить что ты не робот

Существует ли эквивалент ключевого слова С# "var" в С++/CLI?

В С# мне нравится ключевое слово var для таких ситуаций:

var myList = new List<MyType>();

Есть ли какой-либо эквивалент в С++/CLI, или мне нужно каждый раз повторять имя типа:

List<MyType ^>^ myList = gcnew List<MyType ^>();

Не удалось найти явный оператор в документах или Google до сих пор. Я использую Visual Studio 2008.

4b9b3361

Ответ 1

В Visual Studio 2008 такого эквивалента нет. Однако с Visual Studio 2010 вы можете использовать ключевое слово auto для реализации var как семантики в С++. Я знаю, что это работает с не управляемым С++, и я уверен, что он работает и для С++/CLI.

Ответ 2

Я знаю, что тип вывода представлен в С++ 1x standard:

auto someStrangeCallableType = boost::bind(&SomeFunction, _2, _1, someObject);
auto otherVariable = 5;

В настоящее время AFAIK нет эквивалента.

Ответ 3

С++ имеет typedef. Просто укажите эти волосатые типы с typedef и используйте дружеское имя.

Нет, нет ключевого слова "var". Смутно вспомните, что что-то с этим связано с повышением.