lang:cpp:auto
Ceci est une ancienne révision du document !
Présentation
auto et decltype permettent de déduire le type automatiquement.
auto va se baser de façon implicite sur le résultat d'une opération.
decltype va se baser de façon explicite sur une variable ou sur le résultat d'une opération.
auto i = 3; decltype(i) j = i + 3;
Différences
Mais il y a des différences. auto ne conserve pas const, volatile ni & ou &&. decltype garde tout.
Il est possible de faire decltype(auto) pour tout conserver et déduire automatiquement le type de retour.
Retour d'une fonction
auto : tous les return doivent être de même type.
auto foo(int a, int b) { if (a != 0) return 0; else return '0'; }
decltype doit utiliser une syntaxe particulière s'il veut utiliser le type des arguments.
auto bar(int a, int b) -> decltype(a) {return 0;}
C++ auto and decltype Explained Archive du 05/2013 le 11/11/2019
Conteneur multi-types (''std::map'', ''std::tuple'', ...)
lang/cpp/auto.1582034619.txt.gz · Dernière modification : de root
