Platform-, default- und cli-Namespaces (Komponentenerweiterungen für C++)

Ein Namespace qualifiziert implizit die Namen von Sprachelementen, sodass die Namen keinen Konflikt mit den benutzerdefinierten Symbolen im vorhandenen Quellcode verursachen.

Alle Laufzeiten

Visual C++ stellt separate Namespaces für Gruppen von ähnlichen Datentypen in C++/CX und in C++/CLI bereit.Ein Namespace vermeidet Namenskonflikte zwischen identischen Symbolen.Beispielsweise kann ein Namenskonflikt verhindern, dass der Compiler Kontextbezogene Schlüsselwörter (Komponentenerweiterungen für C++) erkennt.

Windows-Runtime

Weitere Informationen finden Sie unter Namespaces und Typsichtbarkeit (C++/CX).

d87eee3k.collapse_all(de-de,VS.110).gifAnforderungen

Compileroption: /ZW

Common Language Runtime

Syntax

using namespace cli;

Hinweise

Der C++/CLI unterstützt den cli-Namespace.Beim Kompilieren mit /clr ist die using-Anweisung im Syntaxabschnitt enthalten.

Die folgenden Sprachfunktionen sind im cli-Namespace:

d87eee3k.collapse_all(de-de,VS.110).gifAnforderungen

Compileroption: /clr

d87eee3k.collapse_all(de-de,VS.110).gifBeispiele

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, dass es möglich ist, ein Symbol im cli-Namespace als benutzerdefiniertes Symbol im Code zu verwenden.Sobald dies geschehen ist, müssen Sie die Verweise jedoch explizit oder implizit auf das cli-Sprachelement des gleichen Namens qualifizieren.

// cli_namespace.cpp
// compile with: /clr
using namespace cli;
int main() {
   array<int> ^ MyArray = gcnew array<int>(100);
   int array = 0;

   array<int> ^ MyArray2 = gcnew array<int>(100);   // C2062

   // OK
   cli::array<int> ^ MyArray2 = gcnew cli::array<int>(100);
   ::array<int> ^ MyArray3 = gcnew ::array<int>(100);
}

Siehe auch

Konzepte

Komponentenerweiterungen für Laufzeitplattformen