Udostępnij za pośrednictwem


za pomocą dyrektywy (C++)

using Dyrektywa dopuszcza nazwy w obszaru nazw bez nazwy obszaru nazw jako kwalifikator jawne.Oczywiście pełną, kwalifikowaną nazwę nadal można poprawić czytelność.

using namespace [::] [ nested-name-specifier ] namespace-name

Uwagi

Należy zauważyć różnicę między za pomocą dyrektywy oraz za pomocą deklaracji : using deklarację pozwala indywidualnej nazwy mają być używane bez kwalifikacji, using dyrektywa zezwala wszystkich nazw w obszarze nazw ma być używany bez kwalifikacji.

Jeśli zmienna lokalna ma taką samą nazwę jak zmienna obszaru nazw, zmienna obszaru nazw jest ukryty.Jest błędem mają zmiennej obszaru nazw z taką samą nazwę jak zmienna globalna.

[!UWAGA]

Put your using w dyrektywie na początku pliku kodu źródłowego, aby zmniejszyć ryzyko nieoczekiwane zachowanie za pomocą technologii IntelliSense.

Obszar nazw std

Standard ANSI/ISO C++ wymaga jawnie deklarować przestrzeni nazw w biblioteki standardowej.Na przykład podczas korzystania z iostream, należy określić obszar nazw cout w jednym z następujących sposobów:

  • std::cout (explicitly)

  • using std::cout(using deklarację)

  • using namespace std(using dyrektywy)

/ CLR

Poniższy przykładowy pokazuje, jak umożliwić nazw.NET Framework klasy bazowej biblioteki obszaru nazw bez nazwy obszaru nazw jako kwalifikator jawne.

// using_directive.cpp
// compile with: /c /clr
using namespace System::Reflection;
[assembly:AssemblyDescriptionAttribute("test")];

Przykład

// using_directive2.cpp
// compile with: /EHsc
#include <iostream>

int main() {
   std::cout << "Hello ";
   using namespace std;
   cout << "World." << endl;
}
  

Zobacz też

Informacje

Obszary nazw (C++)

Słów kluczowych języka C++