Maison >développement back-end >C++ >Pourquoi « const » implique-t-il un lien interne en C mais un lien externe en C ?

Pourquoi « const » implique-t-il un lien interne en C mais un lien externe en C ?

DDD
DDDoriginal
2024-12-02 17:01:11667parcourir

Why Does `const` Imply Internal Linkage in C   but External Linkage in C?

Pourquoi Const implique une liaison interne en C , mais pas en C

En C , le mot-clé 'const' désigne une variable ou un objet constant. Contrairement à C, en C , déclarer une constante au niveau de la portée de l'espace de noms implique un lien interne plutôt qu'un lien externe.

L'annexe C (C 11, C.1.2) fournit le raisonnement derrière cette distinction :

"Un nom de portée de fichier qui est explicitement déclaré const, et non explicitement déclaré extern, a un lien interne, alors qu'en C, il aurait un lien externe. linkage."

Cette modification a été introduite pour encourager les valeurs d'initialisation explicites pour les objets constants, en tirant parti de leur utilisation comme valeurs de compilation en C . En permettant le placement d'objets const dans des fichiers d'en-tête inclus dans plusieurs unités de compilation, cette fonctionnalité améliore l'organisation du code.

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:
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