Quelle est la signification du mot-clé 'auto' en C ?
Le mot-clé 'auto' en C est un spécificateur de type qui a été introduit dans la norme C 11. Il permet au compilateur de déduire automatiquement le type d'une variable à partir de son initialiseur.
Comment fonctionne 'auto' ?
Lorsque vous déclarez une variable avec 'auto' , le compilateur examine l'initialiseur et déduit le type de la variable en fonction du type de l'initialiseur. Par exemple :
<code class="cpp">auto x = 42; // x is deduced to be an int auto y = std::string("hello"); // y is deduced to be a std::string</code>
Le mot-clé 'auto' simplifie le code dans les situations où vous devriez normalement spécifier explicitement le type d'une variable, comme lorsque vous travaillez avec des itérateurs :
<code class="cpp">auto it = container.begin(); // Type of it is automatically deduced</code>
Histoire de « auto »
Avant C 11, « auto » était un spécificateur de classe de stockage qui avait peu d'utilité pratique. La possibilité pour « auto » de déduire des types a été ajoutée dans le cadre des efforts de C 11 pour améliorer la déduction de type.
La portabilité de « auto »
« auto » est désormais largement pris en charge par les compilateurs C modernes. Si vous utilisez un compilateur plus ancien, vous risquez de rencontrer des problèmes de non-reconnaissance de « auto ». Cependant, il est généralement considéré comme portable sur les compilateurs modernes.
Fonctionnalités supplémentaires dans 'auto'
En C 14, 'auto' peut être utilisé pour le type d'un Paramètre lambda :
<code class="cpp">[](auto s) { return s + 1; }</code>
En C 20, 'auto' peut être utilisé pour le type d'un paramètre de fonction :
<code class="cpp">void func(auto a) { ... }</code>
Conclusion
Le mot-clé 'auto' en C est un outil puissant qui vous permet de simplifier votre code et de réduire la quantité d'informations de type que vous devez spécifier explicitement. Il est largement pris en charge et a été encore étendu dans les récentes normes C.
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!