Справочник по C/C++
Пространства имён

Ключевое слово namespace позволяет разделить глобальное пространство имен путем создания некоторой декларативной области. По сути, пространство имен определяет область видимости. Общая форма задания пространства имен
имеет следующий вид.

namespace имя {
	//Объявления
}

Помимо именованных, можно иметь и безымянные пространства имен.

namespace {
	//Объявления
}

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

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

Приведем пример использования ключевого слова namespace.

namespace MyNameSpace {
	int i, k;
	void myfunc(int j) { cout << j; }
}

Здесь переменные i, k и функция myfunc() являются частью области видимости, определенной пространством имен MyNameSpace.

Поскольку пространство имен определяет область видимости, для доступа к определенным внутри нее объектам необходимо использовать оператор разрешения видимости. Например, чтобы присвоить значение 10 переменной i, необходимо использовать следующий оператор.

MyNameSpace::i = 10;

 

Оператор using

Если члены пространства имен будут использоваться часто, то для упрощения доступа к ним можно применить директиву using. Оператор using имеет две общие формы записи.

using namespace имя;
using имя::член;

В первой форме элемент имя задает имя пространства имен, к которому вы хотите получить доступ. Все члены, определенные внутри заданного пространства имен, можно затем использовать без квалификации. Во второй форме делается видимым только указанный член пространства имен. Например, предполагая, что пространство имен MyNameSpace определено(как показано выше), следующие операторы using и присваивания будут вполне законными.

using MyNameSpace::k;		//только переменная k сделана видимой
k = 10;				//OK, поскольку переменная k видима
using namespace MyNameSpace;	//все члены MyNameSpace видимы
i = 10;				//OK, поскольку все члены MyNameSpace сейчас видимы




2013-02-13 16:21:52 x

У вас в правом нижнем углу подозрительный флэш-баннер: подстраивается под внешний вид антивируса и уверяет, что у меня обнаружен вирус. Если ваш сервер не заражён, то я бы вышел из такой баннерной сети, репутация дороже.

2017-10-29 19:37:45 Владсилав

Здравствуйте, меня зовут Владислав, мне очень нравится ваш сайт, отличная информация позволяет разобраться в C/C++, но ваш сайт имеет очень старую верстку, честно сказать ваш сайт очень отстает от развития в веб индустрии, вам надо делать редизайн и я могу помочь вам! Обращайтесь, не пожалеете! Если я вас заинтересовал то напишите мне на почту: vladdowgun@gmail.com Немного обо мне: https://freelance.ru/VladDevelop




Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: