Ich arbeite an einem kleinen persönlichen C++ - Projekt mit STL. Ich mag es nicht, "std::
" überall in meinen Header-Dateien zu haben, da ich finde, dass es die Lesbarkeit behindert, aber gleichzeitig möchte ich mir später keine Probleme machen, indem ich using namespace std
in eine Header-Datei setze.Begrenzen des Bereichs "Verwenden von Namespace" in einer Header-Datei
Also ich frage mich, ob es einen Weg gibt, den Umfang der using
Erklärung zu begrenzen, so dass es auf den Inhalt meiner Header-Datei gilt, aber gilt nicht für Dateien, die sie enthalten. Ich habe verschiedene Dinge wie diese versucht
{
using namespace std;
// header file contents here
}
aber es scheint, dass die Einführung eines Bereichs auf diese Weise außerhalb einer Funktionsdefinition nicht erlaubt ist. Gibt es eine Möglichkeit zu tun, wonach ich suche?
Bitte beachten Sie: Ich bin wirklich nicht daran interessiert, zu diskutieren, ob dies eine gute Idee, ich will nur wissen, ob es getan werden kann.
Meine fehlerhafte Antwort wurde gelöscht. Entschuldigung. Ich qualifiziere Namen immer vollständig in Kopfzeilen (und sogar in cpp-Dateien) aus Gewohnheit. Es ist ziemlich üblich, Code-Basen zu haben, die ihren eigenen Vektor deklarieren, also ist es hilfreich, std :: vector zu sehen, um die Mehrdeutigkeit zu vermeiden. Dies hilft jedoch nicht bei der Beantwortung Ihrer Frage. – M2tM
@ M2tM danke, kein Problem. – Nathaniel