Entmystifizierung von Inline-Variablen in C 17
Inline-Variablen, eingeführt in C 17, ermöglichen es Programmierern, externe Verknüpfungsvariablen in Header-Dateien ohne Auslösung zu definieren Linker-Fehler.
Mechanismus und Funktionalität:
Ähnlich wie Inline-Funktionen können Inline-Variablen in einer Header-Datei mit identischen Definitionen in mehreren Übersetzungseinheiten definiert werden. Dank der erweiterten Maschinerie, die statische Variablen in Klassenvorlagen unterstützt, kann der Compiler diese mehreren Definitionen intelligent verarbeiten.
Deklaration und Verwendung:
So deklarieren Sie eine Inline-Variable:
Dienstprogramm und Beispiele:
Inline-Variablen bieten mehrere Vorteile:
Beispiel:
struct Kath { static inline std::string const hi = "Zzzzz..."; };
Diese Deklaration ermöglicht Ihnen den Zugriff auf die Konstante Kath::hi von jeder Übersetzungseinheit aus, die die Header-Datei enthält.
Zusätzliche Verbesserungen:
Das obige ist der detaillierte Inhalt vonWie lösen C 17-Inline-Variablen Probleme mit mehreren Definitionen in Header-Dateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!