Question

En C #, j'aime le mot-clé var pour des situations comme celle-ci:

var myList = new List<MyType>();

Y at-il équivalent en C ++ / CLI, ou dois-je répéter chaque fois que le nom du type comme ceci:

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

Impossible de trouver une déclaration explicite dans la documentation ou par Google jusqu'à présent. J'utilise Visual Studio 2008.

Était-ce utile?

La solution

Dans Visual Studio 2008 il n'y a pas équivalent. Cependant, avec Visual Studio 2010, vous pouvez utiliser le mot-clé auto pour mettre en œuvre var comme la sémantique en C ++. Je sais que cela fonctionne avec les non gérés C ++ et je suis assez certain que cela fonctionne pour C ++ / CLI ainsi.

Autres conseils

Je sais que l'inférence de type est envisagé dans le C ++ 1x standard :

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

À l'heure actuelle, autant que je sache, il n'y a pas d'équivalent.

C ++ a typedef. Juste alias ces types poilus avec un typedef et utiliser le nom convivial.

Non, il n'y a pas de mot-clé "var". Vaguement rappeler qu'il ya quelque chose à cet effet coup de fouet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top