Condividi tramite


Direttiva using (C++)

La direttiva using consente ai nomi di uno namespace di essere utilizzati senza il nome dello namespace come qualificatore esplicito. Naturalmente, il nome completo qualificato può ancora essere utilizzato per migliorare la leggibilità.

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

Note

Si noti la differenza tra la direttiva using e la dichiarazione using : la dichiarazione using consente un singolo nome da utilizzare senza qualifica, la direttiva using permette tutti i nomi in uno namespace da utilizzare senza qualificazione. Questa parola chiave viene utilizzata anche per gli alias di tipo.

Se una variabile locale ha lo stesso nome di una variabile namespace, la variabile namespace è nascosta. Avere una variabile namespace con lo stesso nome di una variabile globale è un errore.

Nota

Inserire la direttiva using all'inizio del file del codice sorgente per ridurre il rischio di comportamenti imprevisti con IntelliSense.

Il namespace std

Lo standard C++ ANSI/ISO richiede esplicitamente la dichiarazione di namespace nella libreria standard. Ad esempio, quando si utilizza iostream, è necessario specificare il namespace di cout in uno dei modi seguenti:

  • std::cout (explicitly)

  • using std::cout (dichiarazione using)

  • using namespace std (direttiva using)

/clr

Nell'esempio seguente viene mostrato come permettere ai nomi in una libreria di classi base .NET Framework namespace di essere utilizzati senza il nome namespace come qualificatore esplicito.

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

Esempio

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

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

Vedere anche

Riferimenti

Spazi dei nomi (C++)

Parole chiave C++