Interne Verknüpfung durch Const in C impliziert, anders als in C
In C haben const-Objekte, die in einem Namespace deklariert werden, eine interne Verknüpfung, eine Abweichung von Cs Ansatz. Dieses Verhalten ergibt sich aus der potenziellen Verwendung von Const-Objekten als Kompilierzeitkonstanten in C.
Anhang C des C 11-Standards (C.1.2) erläutert die Gründe für diese Änderung. Die Regel ermutigt Programmierer, const-Objekte explizit zu initialisieren, was die Konsistenz fördert und deren Einbindung in Header-Dateien ermöglicht, die von Kompilierungseinheiten gemeinsam genutzt werden.
Betrachten Sie beispielsweise das folgende Beispiel:
const int var_a = 1; int var_b = 1;
Dies kompilieren Code mit g -c test.cpp exportiert nur die Variable var_b. Dies liegt daran, dass const-Variablen im Gegensatz zu C nicht extern verfügbar gemacht werden.
Das obige ist der detaillierte Inhalt vonWarum haben die „const'-Objekte von C eine interne Verknüpfung, während dies bei C nicht der Fall ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!