Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2015, 12:39   #1
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию Вложенные пространства имени

Всем доброго времени суток !!!

Не могу понять назначение создания вложенных пространств имен.

Помогите пожалуйста разобраться в эго назначении .

Что автор книги этим хотел сказать ?

в каком случае применяеться вложенное пространство имен .?
Изображения
Тип файла: jpg --------------------.JPG (10.5 Кб, 14 просмотров)

Последний раз редактировалось Stilet; 06.05.2015 в 14:22.
RAFA91 вне форума Ответить с цитированием
Старый 06.05.2015, 13:08   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Не могу понять назначение создания вложенных пространств имен.
Ну если простым языком говорить, то это банальная группировка. Как вот в классы группируются свойства, методы, так и тут. Пространство группирует в себе какие-то функции. И само же пространство помещается в другое пространство, которое в свою очередь будет группировать.
Удобство применения ИМХО только в том, что ты можешь не бояться повторяющихся имен функций, которые делают разные вещи, но одинаково называются, поскольку они получается разделены по разным пространствам.
И чтоб конкретно сказать компилятору, какую функцию или группу функций нужно использовать программист говорит это именем пространства.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.05.2015, 13:31   #3
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

ну а зачем же вложенное простр. если можно каждое простр.

обьявить своим уникальным именем ?

или имена пространств тоже могут повторяться ?
RAFA91 вне форума Ответить с цитированием
Старый 06.05.2015, 13:46   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
зачем же вложенное простр. если можно каждое простр. обьявить своим уникальным именем ?
А зачем нам вообще простр. имен, если каждый класс можно объявить своим уникальным именем?

То же самое и с именами пространств имен.
waleri вне форума Ответить с цитированием
Старый 06.05.2015, 13:58   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
или имена пространств тоже могут повторяться ?
Ну вот представь что на форуме у нас будет двое пользователей с ником "Картон".
Один добрый, а другой злой. Один тебе ченить приятное скажет, а другой пошлет катиться колбаской по малой Спасской. Вот так и с пространствами. Конечно могу повторяться. Тут все как и в классах, хедерах и др. группирующих инстанциях.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.05.2015, 14:03   #6
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

скажите пожалуйста, а переменные члены в пространстве это

глобальные переменные действующие только в пределах своего

пространства ?
RAFA91 вне форума Ответить с цитированием
Старый 06.05.2015, 14:22   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну... скорее да чем нет... Хотя я немного не пойму что имеется ввиду.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.05.2015, 14:37   #8
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

к примеру это

Код:
namespace Window

{
	int x=100;

	namespace Wind

	{
		int x=10;

		void basa() { cout << "\nbaba2.cpp "  <<x<< "\n"; }

	}

}
переменная x имееться в области Window и Wind

функция void basa() может получить доступ как я понимаю

к переменной x области Wind и не может получить доступа к переменной

x области Window.

правильно понял ?
RAFA91 вне форума Ответить с цитированием
Старый 06.05.2015, 14:54   #9
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Может, просто надо будет прописать "полный путь" к переменной...
Например:
Window::x
Window::Wind::x
waleri вне форума Ответить с цитированием
Старый 06.05.2015, 15:35   #10
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

в данном случае при обращении к переменной x области Wind из

функции void basa() области Window получаю ошибку

Код:
namespace Window

{
	int x=150;

	void basa() { cout << "\nbaba2.cpp !!!!!!!!"  <<Window::Wind::x<< "\n"; }

	namespace Wind

	{
		int x=167;

		void basa() { cout << "\nbaba2.cpp "  <<	Window::x<< "\n"; }

	}

}
RAFA91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анализатор дискового пространства Naive Софт 2 16.02.2014 15:53
Пространства имен С++ Jumb0 Помощь студентам 1 10.03.2013 19:49
Бесконечность пространства. Levsha100 Свободное общение 96 14.12.2012 00:15
Мониторинг дискового пространства Mid1987 C++ Builder 2 26.04.2012 15:19
Реализация игрового пространства pyhpyh Gamedev - cоздание игр: Unity, OpenGL, DirectX 6 23.08.2010 18:29