Sdílet prostřednictvím


using – direktiva (C++)

Direktiva using umožňuje používat názvy z oboru názvů bez názvu oboru názvů jako explicitního kvalifikátoru.Samozřejmě pro lepší čitelnost může být stále použit úplný kvalifikovaný název.

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

Poznámky

Všimněte si rozdílu mezi direktivou using a deklarací using: deklarace using umožňuje použití jednoho názvu bez kvalifikace, direktiva using umožňuje použití všech názvů z oboru názvů bez kvalifikace.Toto klíčové slovo se také používá pro zástupné typy.

Pokud má lokální proměnná stejný název jako proměnná oboru názvů, je proměnná obor názvů skryta.Jedná se o chybu, pokud má proměnná oboru názvů stejný název jako globální proměnná.

[!POZNÁMKA]

Vložte direktivu using na začátek souboru zdrojového kódu, pro snížení rizika neočekávaného chování s technologií IntelliSense.

Obor názvů std

Standard ANSI/ISO C++ vyžaduje, aby byl obor názvů explicitně deklarován ve standardní knihovně.Například při použití iostream je nutné zadat obor názvů cout jedním z následujících způsobů:

  • std::cout (explicitly)

  • using std::cout (deklarace using)

  • using namespace std (direktiva using)

/clr

Následující příklad ukazuje, jak povolit použití názvů z oboru názvů knihovny základních tříd rozhraní .NET Framework bez názvu oboru názvů jako explicitního kvalifikátoru.

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

Příklad

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

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

Viz také

Referenční dokumentace

Obory názvů (C++)

Klíčová slova jazyka C++