Тема 01 Неопределенные типы и пространство неизвестных имен. Динамическая идентификация типов и операторы приведения типа


Рассмотрим пример пространства имен new_name


Download 355.01 Kb.
bet2/4
Sana29.03.2023
Hajmi355.01 Kb.
#1309083
1   2   3   4
Bog'liq
Тема 1 видео запись рус N30 слайд

Рассмотрим пример пространства имен new_name:

#include

using namespace std;

namespace new_name {

int x,y,z;

void print(char simvol)

{ cout<<"Simvol="<

cout<<"x="<

cout<<"y="<

cout<<"z="<

}

}

Рассмотрим пример пространства имен new_name:


int main()
{
new_name::x=10;
new_name::y=20;
new_name::z=30;
new_name::print('A');
return 0;
}

Директива using

Текст программы, в которой часто встречаются ссылки на элементы пространства имен станет малопонятным, поскольку будет переполнен квалификаторами и операторами области разрешения видимости.

Чтобы избежать этого, следует применять директиву using:

using namespace <имя_пространства_имён>;

using <имя_простр_имён> :: <член_простр_имён>;

Директива using

В первом варианте параметр задает название пространства имен. Все элементы этого пространства становятся частью текущей области видимости и могут использоваться без указания квалификатора.

Во втором варианте в область видимости включается только конкретный элемент пространства имен.

Директива using

Если в программе, например, объявлено пространство имен new_name, то можно применить следующие операторы:

using new_name::x;

x =10;

using namespace new_name;

y = 20;

Неименованные пространства имен

Существует особая разновидность пространств имен ‒ неименованное пространство имен (unnamed namespace), позволяющее создавать уникальные идентификаторы, область видимости которых ограничена файлом. Неименованные пространства имен иногда называют безымянными (anonymous namespaces).

Их объявление имеет следующий вид:

namespace

{

// Объявления


Download 355.01 Kb.

Do'stlaringiz bilan baham:

1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling