J'ai utilisé le nouveau auto
mot clé disponible dans la norme C ++ 11 pour les types de modèles compliqués, ce pour quoi je pense qu'il a été conçu. Mais je l'utilise aussi pour des choses comme:
auto foo = std::make_shared<Foo>();
Et plus sceptiquement pour:
auto foo = bla(); // where bla() return a shared_ptr<Foo>
Je n'ai pas vu beaucoup de discussions sur ce sujet. Il semble que cela auto
pourrait être surutilisé, car un type est souvent une forme de documentation et de vérification de l'intégrité. Où tracez-vous la ligne d'utilisation auto
et quels sont les cas d'utilisation recommandés pour cette nouvelle fonctionnalité?
Pour clarifier: je ne demande pas d'avis philosophique; Je demande l'utilisation prévue de ce mot-clé par le comité standard, éventuellement avec des commentaires sur la façon dont cette utilisation prévue est réalisée dans la pratique.
Note latérale: Cette question a été déplacée vers SE.Programmers, puis de nouveau vers Stack Overflow. Une discussion à ce sujet peut être trouvée dans cette méta-question .
auto
mot - clé, alors vous savez comment il est censé être utilisé. C'est ce que je demande, en tant que nouveau utilisateur de cette fonctionnalité, comment dois-je l'utiliser?
var
(c'est-à-dire, une fois que les gens ont fini par penser que ce n'était pas du typage dynamique après tout). Si vous le souhaitez, vous pouvez commencer par cette question et passer par les questions connexes.
auto foo = bla();
«mauvais» est clairement une opinion, pas un fait, ce qui rend cette question et répond à une discussion, ce qui la rend pertinente pour Programmers SE, ce qui est exactement ce que les votes serrés indiquent. / haussement d'épaules