Maison > développement back-end > C++ > Le mot clé « auto » de C 11 est-il surutilisé : quand devriez-vous éviter la saisie explicite ?

Le mot clé « auto » de C 11 est-il surutilisé : quand devriez-vous éviter la saisie explicite ?

Susan Sarandon
Libérer: 2024-12-08 20:11:10
original
395 Les gens l'ont consulté

Is C  11's `auto` Keyword Overused: When Should You Avoid Explicit Typing?

Le mot-clé automatique de C 11 est-il excessif ?

Bien que le mot-clé auto se soit révélé inestimable dans la gestion des types de modèles complexes, comme prévu par ses concepteurs, des inquiétudes surgissent quant à sa surutilisation dans des scénarios plus simples. Auto doit-il être utilisé pour éviter de déclarer explicitement des types, même pour des expressions simples comme std::make_shared() ?

Utilisation prévue et directives pratiques

Selon le comité standard C, auto doit être utilisé lorsque l'indication explicite que le type est difficile mais que le type du côté droit est évident. Par exemple, considérons le code suivant :

my_multi_type::nth_index<2>::type::key_type::composite_key_type::
    key_extractor_tuple::tail_type::head_type::result_type
Copier après la connexion

La récupération du type de clé composite dans boost::multi_index nécessite cette expression complexe. Même si le type est connu pour être int, auto doit être utilisé pour améliorer la lisibilité dans de tels cas.

Cas d'utilisation recommandés

Utilisez auto lorsque :

  • Le lecteur peut facilement déduire le type représenté par auto.
  • Le type est évident sur le côté droit du expression.
  • Cela améliore la lisibilité et évite les répétitions inutiles.

Exemples

  • Utilisation d'auto dans std::make_shared
  • Dans l'expression bla(), où bla() renvoie un shared_ptr, l'utilisation de auto n'est pas claire car le type de foo est incertain.
  • Utiliser auto dans une boucle où le type d'itérateur est connu mais pas l'itérateur spécifique, comme auto it = v.begin();, peut améliorer la clarté du code.

Attention Contes

  • La spécification explicite du type facilite la documentation et les contrôles d'intégrité.
  • Soyez prudent lorsque vous utilisez des boucles auto for avec des variables non signées, car cela peut entraîner des erreurs inattendues.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal