директива using (C++)
using директива позволяет имен в выражении пространство имен без использования имя пространства имен как явный квалификатор.Конечно, полное, полное имя все равно может использоваться для повышения удобочитаемости.
using namespace [::] [ nested-name-specifier ] namespace-name
Заметки
Обратите внимание на разницу между использование директива и использование объявление . using объявление допускает отдельное имя, которое будет использоваться без квалификации, using директива позволяет все имена в пространстве имен, которое будет использоваться без квалификации.
Если локальная переменная имеет то же имя, что и переменная пространства имен, то переменная пространства имен скрыта.Ошибка иметь переменную пространства имен с таким же именем, как глобальная переменная.
Примечание |
---|
Поместите ваше using директиву в начало файла исходного кода для уменьшения потенциала для непредвиденной расширения функциональности с IntelliSense. |
пространство имен std
Стандарт ANSI/ISO C++ требует явного объявления пространства имен в стандартной библиотеке.Например, при использовании iostream необходимо указать пространство имен cout одним из следующих способов:
std::cout (explicitly)
using std::cout (using объявление)
using namespace std (using директива)
/clr
В следующем образце показано, как разрешить имена в библиотеке базового класса платформы .NET Framework пространство имен без использования имя пространства имен как явный квалификатор.
// using_directive.cpp
// compile with: /c /clr
using namespace System::Reflection;
[assembly:AssemblyDescriptionAttribute("test")];
Пример
// using_directive2.cpp
// compile with: /EHsc
#include <iostream>
int main() {
std::cout << "Hello ";
using namespace std;
cout << "World." << endl;
}