Diretiva using (C++)
A política using permite que os nomes em um namespace sejam usados sem o namespace-name como qualificador explícito. Obviamente, o nome qualificado completo pode ainda ser usado para melhorar a legibilidade.
using namespace [::] [ nested-name-specifier ] namespace-name
Comentários
Observe a diferença entre a política using e a declaração using: a declaração using permite que um nome individual seja usado sem qualificação, a política using permite que todos os nomes em um namespace sejam usados sem qualificação. Essa palavra-chave é usada também para aliases de tipo.
Se uma variável local tiver o mesmo nome de uma variável de namespace, a variável de namespace será oculta. É um erro ter uma variável de namespace com o mesmo nome de uma variável global.
Dica
Coloque sua política using no início do arquivo de código-fonte para reduzir a possibilidade de comportamento inesperado com o IntelliSense.
O namespace std
O padrão ANSI/ISO C++ exige que você declare explicitamente o namespace na biblioteca padrão. Por exemplo, ao usar iostream, você deve especificar o namespace de cout de uma das seguintes maneiras:
std::cout (explicitly)
using std::cout (declaração using)
using namespace std (política using)
/clr
O exemplo a seguir mostra como permitir que nomes um namespace da biblioteca de classes base do .NET Framework sejam usados sem namespace-name como um qualificador explícito.
// using_directive.cpp
// compile with: /c /clr
using namespace System::Reflection;
[assembly:AssemblyDescriptionAttribute("test")];
Exemplo
// using_directive2.cpp
// compile with: /EHsc
#include <iostream>
int main() {
std::cout << "Hello ";
using namespace std;
cout << "World." << endl;
}