Maison > développement back-end > C++ > Pourquoi les variables de portée d'espace de noms `const` en C ont-elles une liaison interne ?

Pourquoi les variables de portée d'espace de noms `const` en C ont-elles une liaison interne ?

DDD
Libérer: 2024-12-01 15:38:14
original
769 Les gens l'ont consulté

Why Do `const` Namespace-Scope Variables in C   Have Internal Linkage?

Comprendre les implications de liaison interne de const en C

En C, les variables membres const déclarées dans la portée de l'espace de noms présentent un comportement de liaison interne, contrairement à C où elles auraient une liaison externe . Pour clarifier, le lien interne implique que l'identifiant ne peut être utilisé que dans l'unité de traduction où il est déclaré, tandis que le lien externe permet aux identifiants d'être référencés dans plusieurs unités de traduction.

Cette distinction est née spécifiquement en raison de la nature unique des objets const en C . Comme expliqué dans l'annexe C de la norme C 11 (C.1.2), la capacité des objets const à servir de constantes au moment de la compilation a entraîné une dérogation au comportement de style C. En utilisant par défaut une liaison interne pour les objets de portée d'espace de noms const, C encourage les programmeurs à fournir des valeurs d'initialisation explicites et permet une inclusion pratique d'objets const dans les fichiers d'en-tête référencés dans plusieurs unités de compilation.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal