Существует ли эквивалент ключевому слову “var” C# в C++ / CLI?

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

var myList = new List<MyType>();

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

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

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

27
задан Deduplicator 9 March 2015 в 17:19
поделиться

4 ответа

[

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

]
37
ответ дан 28 November 2019 в 04:59
поделиться

C++0x будет иметь автоматическое ключевое слово: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1705.pdf

2
ответ дан 28 November 2019 в 04:59
поделиться

Я знаю, что типовой вывод предусмотрен в стандарте C++1x :

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

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

12
ответ дан 28 November 2019 в 04:59
поделиться

В C ++ есть typedef. Просто присвойте этим волосатым типам псевдоним typedef и используйте понятное имя.

Нет, ключевого слова "var" не существует. Смутно припоминаю, что в бусте есть что-то подобное.

4
ответ дан 28 November 2019 в 04:59
поделиться