Verwendung von C-Headern in C: Global Namespace oder std:: Namespace?
In C ist die Verwendung von C-Headern mit Minor möglich Änderungen an ihren Namen, zum Beispiel wird stdio.h zu cstdio. Dies wirft die Frage auf, ob es besser ist, beim Aufruf von C-Funktionen im C-Code Funktionen aus dem std::-Namespace oder dem globalen Namespace zu verwenden.
Erklärung:
Gemäß dem C 11-Standard werden alle C-Header-Namen in der Form „name.h“ aus Kompatibilitätsgründen mit der C-Standardbibliothek automatisch im globalen Namespace platziert. Der Standard gibt jedoch nicht an, ob diese Namen zuerst im std::-Namespace deklariert oder definiert und dann in den globalen Namespace eingefügt werden oder umgekehrt.
Empfehlung:
Basierend auf den Empfehlungen des Standards wird empfohlen, lieber die „cname“-Header (z. B. cstdio) einzubeziehen und Deklarationen und Definitionen aus dem zu verwenden std:: Namespace aus folgenden Gründen:
Beispiel:
Ein bevorzugter Ansatz wäre:
#include <cstdio> int main() { std::printf("Hello world\n"); }
Schlussfolgerung:
Während es möglich ist, C-Funktionen entweder über den globalen Namespace oder den std aufzurufen:: Namespace, ist es ratsamer, den Vorschlägen des C-Standards zu folgen und die Verwendung von CNAME-Headern mit std:: Namespace-Deklarationen und -Definitionen zu bevorzugen.
Das obige ist der detaillierte Inhalt vonC-Header in C: Globaler Namespace oder std:: Namespace?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!