Maison > développement back-end > C++ > Pourquoi les objets `const` de C ont-ils une liaison interne alors que ceux de C n'en ont pas ?

Pourquoi les objets `const` de C ont-ils une liaison interne alors que ceux de C n'en ont pas ?

Mary-Kate Olsen
Libérer: 2024-12-01 01:48:14
original
1033 Les gens l'ont consulté

Why Do C  's `const` Objects Have Internal Linkage While C's Don't?

Lien interne impliqué par Const en C contrairement à C

En C , les objets const déclarés dans un espace de noms ont un lien interne, un écart par rapport à L'approche de C. Ce comportement découle de l'utilisation potentielle des objets const comme constantes de compilation en C .

L'annexe C de la norme C 11 (C.1.2) explique la justification de ce changement. La règle encourage les programmeurs à initialiser explicitement les objets const, favorisant ainsi la cohérence et permettant leur inclusion dans les fichiers d'en-tête partagés entre les unités de compilation.

Par exemple, considérons l'exemple suivant :

const int var_a = 1;
int var_b = 1;
Copier après la connexion

Compiler ceci le code avec g -c test.cpp exporte uniquement la variable var_b. En effet, les variables const ne sont pas rendues disponibles en externe, contrairement à 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!

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