Notez que cette question a été publiée à l'origine en 2009, avant la ratification de C ++ 11 et avant que la signification du
automot - clé ne soit radicalement modifiée. Les réponses fournies concernent uniquement la signification C ++ 03 deauto- qui est une classe de stockage spécifiée - et non la signification C ++ 11 deauto- c'est-à-dire la déduction automatique de type. Si vous recherchez des conseils sur l'utilisation du C ++ 11auto, cette question n'est pas pertinente pour cette question.
Pendant très longtemps, j'ai pensé qu'il n'y avait aucune raison d'utiliser le staticmot - clé en C, car les variables déclarées en dehors de la portée du bloc étaient implicitement globales. Ensuite, j'ai découvert que déclarer une variable comme staticdans la portée du bloc lui donnerait une durée permanente, et la déclarer en dehors de la portée du bloc (dans la portée du programme) lui donnerait une portée fichier (accessible uniquement dans cette unité de compilation).
Cela me laisse donc avec un seul mot-clé que je ne comprends (peut-être) pas encore complètement: le automot-clé. Y a-t-il une autre signification que «variable locale»? Tout ce qu'il fait qui n'est pas implicitement fait pour vous où que vous souhaitiez l'utiliser? Comment une autovariable se comporte-t-elle dans la portée du programme? Qu'en est-il d'une static autovariable dans la portée du fichier? Ce mot-clé a-t-il un autre objectif que d' exister simplement pour être complet ?