Direktiven (C++)
Die using-Direktive können die Namen in ohne NAMESPACE Zeichenname verwendet werden soll, Namespace als expliziter Qualifizierer.Natürlich können das vollständige, qualifizierter Name noch verwendet werden, um die Lesbarkeit zu verbessern.
using namespace [::] [ nested-name-specifier ] namespace-name
Hinweise
Beachten Sie den Unterschied zwischen den Anwendung - Direktive und mit der Deklaration : using die Deklaration ermöglicht einen einzelnen Namen ohne Qualifizierung verwendet werden soll, die using-Direktive können alle Namen in einem Namespace ohne Qualifizierung verwendet werden soll.
Wenn eine lokale Variable denselben Namen wie eine Variable Namespace verfügt, wird der Namespace variable ausgeblendet.Es ist ein Fehler, wenn eine Variable Namespace mit dem gleichen Namen wie eine globale Variable.
Hinweis |
---|
Setzen Sie die using-Direktive am Anfang der Quellcodedatei, um das Potenzial für unerwartetes Verhalten mit IntelliSense zu reduzieren. |
Der std-Namespace
Der Standardwert ANSI/ISO C++ müssen Sie den Namespace in der Default Library explizit zu deklarieren.Wenn Sie beispielsweise iostream verwenden, müssen Sie den Namespace von cout auf eine der folgenden Weisen angegeben werden:
std::cout (explicitly)
using std::coutusing (Deklaration)
using namespace std (using-Direktive)
/clr
Das folgende Beispiel zeigt, wie die Namen in einer .NET Framework-Basisklassenbibliothek ohne NAMESPACE Zeichenname verwendet werden können, Namespace als expliziter Qualifizierer.
// using_directive.cpp
// compile with: /c /clr
using namespace System::Reflection;
[assembly:AssemblyDescriptionAttribute("test")];
Beispiel
// using_directive2.cpp
// compile with: /EHsc
#include <iostream>
int main() {
std::cout << "Hello ";
using namespace std;
cout << "World." << endl;
}