Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Что такое namespace? - C++

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

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

Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами? - C++
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?

Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа? - C++
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

Что такое хэндлер файла? Что такое файловый указатель? - C++
Что такое хэндлер файла? Что такое файловый указатель?

Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них - C++
Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них пожалуйста.

Что означает using namespace std? - C++
Что означает в с++? using namespace std объясните пожалуйста простым языком))

Namespace & #include что-то непонятное - C++
Есть проект состоящий из множества файлов cpp и h. и имена классов в них пересекаются, но не беда оборачиваю эти классы в namespace...

5
Fyret
199 / 185 / 20
Регистрация: 30.07.2013
Сообщений: 392
05.10.2013, 12:24 #2
Считай, что namespace - это фамилия функций, классов, переменных пространства имен. И потом их так вежливо вызываешь по фамилии-имени, ну, чтоб не путаться. Модно? Доходчиво? :-)
1
Убежденный
Ушел с форума
Эксперт С++
15793 / 7230 / 1138
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
05.10.2013, 12:27 #3
Пространство имен - это способ разруливать конфликты имен.
Предположим, вы написали функцию или класс под названием worker, и этот worker
используется во многих частях программы. Но в один день вы подключаете код,
написанный другим разработчиком, и с удивлением обнаруживаете, что там тоже
используется имя worker. В результате программа перестает компилироваться.

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

Еще пространства имен используются для более стройной организации кода.
Например, можно все классы и функции для работы с сетью поместить в
пространство имен network.
2
Croessmah
Пришел
Эксперт CЭксперт С++
13753 / 7833 / 892
Регистрация: 27.09.2012
Сообщений: 19,224
Записей в блоге: 3
Завершенные тесты: 1
05.10.2013, 12:35 #4
using namespace std
1
Скриптыч
28 / 17 / 2
Регистрация: 14.08.2013
Сообщений: 147
05.10.2013, 13:32  [ТС] #5
Спасибо !!!
0
Tulosba
:)
Эксперт С++
4619 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
05.10.2013, 16:16 #6
Цитата Сообщение от Убежденный Посмотреть сообщение
достаточно просто обернуть весь нужный код в namespace {}.
Тут хотелось бы уточнить, что безымянные пространства имен запрещают доступ к определенным в них сущностям из других единиц трансляции. В частности этот способ рекомендуется использовать вместо объявления глобальных переменных как static.
0
05.10.2013, 16:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2013, 16:16
Привет! Вот еще темы с ответами:

На что влияет расположение строчки using namespace std; ? - C++
В учебнике вывод предлагают делать так: 1-ый способ: #include <iostream> int main() { std::cout << "Hello World!" <<...

Объяснить что такое "раздельная компиляция", что такое "интерфейс класса" и "реализация класса" на примере - C++
Есть класс, содержащий объекты и конструктор. Конструктор объявляется в одном из cpp файлов(их несколько). Можно ли, как-то, использовать...

Что такое перегрузка оператора? Что у меня в коде за ошибка? - C++
Что же я написал?? Что оно не компилится? Что значит error C2275: Superclass: недопустимое использование этого типа в качестве выражения ...

В этой части кода происходит объявление функций? Что такое void? Что в скобках? - C++
В этой части кода происходит объявление функций? Что такое void? Что в скобках? void get(float **mas, int N, int M); void...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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