Heim >Backend-Entwicklung >C++ >Warum impliziert „const' eine interne Verknüpfung in C, aber eine externe Verknüpfung in C?

Warum impliziert „const' eine interne Verknüpfung in C, aber eine externe Verknüpfung in C?

DDD
DDDOriginal
2024-12-02 17:01:11668Durchsuche

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

Warum Const eine interne Verknüpfung in C impliziert, aber nicht in C

In C bezeichnet das Schlüsselwort „const“ eine konstante Variable oder ein konstantes Objekt. Im Gegensatz zu C impliziert in C die Deklaration einer Konstante im Namensraumbereich eher eine interne als eine externe Verknüpfung.

Anhang C (C 11, C.1.2) liefert die Begründung für diese Unterscheidung:

„Ein Name des Dateibereichs, der explizit als const und nicht explizit als extern deklariert ist, hat eine interne Verknüpfung, während er in C eine externe Verknüpfung hätte Verknüpfung.“

Diese Änderung wurde eingeführt, um explizite Initialisierungswerte für konstante Objekte zu fördern und deren Verwendung als Werte zur Kompilierungszeit in C zu nutzen. Durch die Möglichkeit der Platzierung von Konstantenobjekten in Header-Dateien, die in mehreren Kompilierungseinheiten enthalten sind, verbessert diese Funktion die Codeorganisation.

Das obige ist der detaillierte Inhalt vonWarum impliziert „const' eine interne Verknüpfung in C, aber eine externe Verknüpfung in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn