Was ist ein Namensraum ? Warum diesen Satz mit dem Namensraum std schreiben?
Dies ist ein neu eingeführter Mechanismus in C++, der hauptsächlich dazu dient, das Problem von Namenskonflikten zwischen mehreren Modulen zu lösen, genau wie bei zwei Personen mit demselben Namen im wirklichen Leben. C++ setzt dieselben Namen in unterschiedliche Leerzeichen, um Namenskonflikte zu vermeiden.
Beispielsweise werden die von der Standard-C++-Bibliothek bereitgestellten Objekte im Standard-Namespace std gespeichert, z. B. cin, cout und endl. Daher sehen wir den Satz, der den Namespace std verwendet, in C++-Programmen wie dem Programm:
#include<iostream>usingnamespacestd;intmain(){cout<<Nicetomeetyou!<<endl;return0;}
Wenn das Programm cout und endl verwendet, muss es im Voraus darüber informiert werden, dass es den std-Namespace verwenden soll. Darüber hinaus gibt es zwei weitere Schreibweisen.
Der zweite Typ: Verwenden Sie den Domain-Qualifier::, um ihn einzeln anzugeben. Der Code kann auch wie folgt geschrieben werden:
#include<iostream>intmain(){std::cout<<Nicetomeetyou!<<std::endl;return0;}
Hast du das gesehen? cout und endl werden jeweils mit std:: angegeben, was anzeigt, dass sie von std stammen.
Die dritte Methode: Verwenden Sie using und Domänenqualifizierer, um anzugeben, welche Namen verwendet werden sollen, z. B. Code:
#include<iostream>usingstd::cout;usingstd::endl;intmain(){cout<<Nicetomeetyou!<<endl;return0;}
Hast du das gesehen? Sie können auch using verwenden, um zuerst den spezifischen Namen zu deklarieren.
Sie können jede der oben genannten drei Methoden verwenden. Aus Gründen der Vereinheitlichung und Bequemlichkeit werden wir in unseren Tutorials in Zukunft die erste Schreibmethode übernehmen.
Es ist erwähnenswert, dass der frühe C++-Standard tatsächlich kein Namespace-Konzept hatte und die enthaltene Header-Datei dieselbe wie C war, mit dem Suffix .h. Wenn Sie jedoch eine Header-Datei ohne .h verwenden, um sie in den neuen Standard aufzunehmen, muss der Namespace deklariert werden. Die enthaltene Header-Datei steht an erster Stelle und der verwendete Namespace wird zuletzt deklariert.