Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Скриптыч
28 / 17 / 2
Регистрация: 14.08.2013
Сообщений: 147
#1

namespace - C++

05.10.2013, 12:20. Просмотров 346. Ответов 5
Метки нет (Все метки)

Доброго времени и суток !!!
Я хотел спросить что такое namespace (вообще что такое пространство имен?)
Только модно доходчиво (доходчиво-это не статья из вики).
Заранее спасибо!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2013, 12:20     namespace
Посмотрите здесь:

C++ using namespace std
C++ namespace
вопрос по using namespace C++
using namespace std; C++
C++ Namespace
namespace C++
std:: vs namespace C++
using namespace std C++
подскажите с using namespace C++
namespace C++
namespace std C++
C++ Использование namespace

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
05.10.2013, 12:24     namespace #2
Считай, что namespace - это фамилия функций, классов, переменных пространства имен. И потом их так вежливо вызываешь по фамилии-имени, ну, чтоб не путаться. Модно? Доходчиво? :-)
Убежденный
Системный программист
Эксперт С++
15107 / 6802 / 1073
Регистрация: 02.05.2013
Сообщений: 11,115
Завершенные тесты: 1
05.10.2013, 12:27     namespace #3
Пространство имен - это способ разруливать конфликты имен.
Предположим, вы написали функцию или класс под названием worker, и этот worker
используется во многих частях программы. Но в один день вы подключаете код,
написанный другим разработчиком, и с удивлением обнаруживаете, что там тоже
используется имя worker. В результате программа перестает компилироваться.

И вот эта проблема может быть решена помещением одного из worker-ов в
отдельное пространство имен. Например, ваш worker будет именоваться myspace::worker, а
worker другого разработчика - просто worker. Так конфликт разрешается, при этом не
нужно бегать по коду программы и переименовывать своего worker-а в какого-нибудь
worker_2, достаточно просто обернуть весь нужный код в namespace {}.

Еще пространства имен используются для более стройной организации кода.
Например, можно все классы и функции для работы с сетью поместить в
пространство имен network.
Croessmah
Модератор
Эксперт CЭксперт С++
12887 / 7273 / 810
Регистрация: 27.09.2012
Сообщений: 17,972
Записей в блоге: 2
Завершенные тесты: 1
05.10.2013, 12:35     namespace #4
using namespace std
Скриптыч
28 / 17 / 2
Регистрация: 14.08.2013
Сообщений: 147
05.10.2013, 13:32  [ТС]     namespace #5
Спасибо !!!
Tulosba
:)
Эксперт С++
4391 / 3234 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
05.10.2013, 16:16     namespace #6
Цитата Сообщение от Убежденный Посмотреть сообщение
достаточно просто обернуть весь нужный код в namespace {}.
Тут хотелось бы уточнить, что безымянные пространства имен запрещают доступ к определенным в них сущностям из других единиц трансляции. В частности этот способ рекомендуется использовать вместо объявления глобальных переменных как static.
Yandex
Объявления
05.10.2013, 16:16     namespace
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru