2010-05-23 6 views
3

Donc je sais que C++ est fortement typé et je me demandais juste s'il y avait une bibliothèque (ou quelque chose pour ça) qui vous permettrait de faire une variable qui n'a pas de type spécifique comme var en Python.Existe-t-il un équivalent de type var en C++?

+1

Je pense que ce type de fonctionnalité doit être supporté par le langage lui-même plutôt que par une bibliothèque. – dreamlax

+5

C++ 0x introduit un type automatique, qui est similaire mais certainement pas comme Python, qui utilise la liaison tardive. Pour C++, le plus proche est celui des templates. –

+4

['auto'] (http://www2.research.att.com/~bs/C++0xFAQ.html#auto) n'est certainement pas similaire, il ne déduit que le type pour vous - toujours tout statiquement typé. –

Répondre

1

Deux grandes choses viennent à l'esprit:

  1. BOOST_AUTO
  2. C++0x type inference
+0

+1 pour Boost, bien que je trouve encore moche .. –

+1

L'inférence de type est fortement typée et donc pas tout à fait comme un type var. – fredoverflow

+0

Oui, 'auto' est plus proche de' var' en C#, je pense. –

0

Dans le nouveau C++ 11, il y a le mot-clé auto qui ne fait plus référence à la durée automatique, mais plutôt à l'inférence de type. Donc vous pouvez faire ceci:

auto index = 1; // index is inferred to be int 
auto c = 'a' // c is inferred to be a char