Share via


using (Directiva) (C++)

La directiva using permite utilizar los nombres de un namespace sin el namespace-name como calificador explícito. Por supuesto, se puede utilizar el nombre completo para mejorar la legibilidad.

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

Comentarios

Observe la diferencia entre la directiva using y la declaración using: la declaración using permite utilizar un nombre individual sin calificación, mientras que la directiva using permite utilizar todos los nombres de un espacio de nombres sin calificación. Esta palabra clave se utiliza también para los alias de tipo.

Si una variable local tiene el mismo nombre que una variable de espacio de nombres, se oculta la variable de espacio de nombres. Es un error tener una variable de espacio de nombres con el mismo nombre que una variable global.

Nota

Coloque la directiva using al principio del archivo de código fuente para reducir la posibilidad de que se produzca un comportamiento inesperado con IntelliSense.

El espacio de nombres std

El estándar C++ de ANSI/ISO requiere declarar explícitamente el espacio de nombres en la biblioteca estándar. Por ejemplo, cuando se utiliza iostream, se debe especificar el espacio de nombres de cout de una de las maneras siguientes:

  • std::cout (explicitly)

  • using std::cout (declaración using)

  • using namespace std (directiva using)

/clr

En el ejemplo siguiente se muestra cómo permitir el uso de nombres en una biblioteca de clases base namespace de .NET Framework sin namespace-name como calificador explícito.

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

Ejemplo

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

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

Vea también

Referencia

Espacios de nombres (C++)

Palabras clave de C++