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

Пространство имён - C++

Восстановить пароль Регистрация
 
Fooly
 Аватар для Fooly
21 / 17 / 1
Регистрация: 26.03.2012
Сообщений: 147
16.07.2012, 14:02     Пространство имён #1
Прочитал сейчас раздел про пространство имён, но так всё равно и не понял, почему лучше не использовать директиву using.
Допустим, частенько здесь на форуме видел, что пишут std::cout std::cin, вместо того, чтобы объявить директиву глобально using namespace std.
В книге тоже написано, using namespace std // конструкция слишком неразборчива, избегайте её. И дальше написано рекомендуется использовать следующий подход:
C++
1
2
3
int x;
std::cin >>x;
std::cout << x << std::endl
Или
C++
1
2
3
4
5
6
using std::cin;
using std::cout;
using std::endl;
int x;
cin>>x;
cout<<x<<endl;
Это для того, чтобы имена не пересекались? Неужели трудно придумать любые другие, и просто вписать using namespace std; в самом начале? Или я чего-то не понимаю?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2012, 14:02     Пространство имён
Посмотрите здесь:

C++ Подключение пространства имён
C++ Как включить класс из внешнего файла в пространство имён?
Пространство имён! C++
Конфликт имён C++
C++ Почему в списке инициализации конструктора дочернего класса нельзя вызывать конструктор родительского через его пространство имён?
C++ Как внести класс в пространство имён
C++ Одноуровневая таблица имён
C++ Пространство имён

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KristopherRobin
 Аватар для KristopherRobin
137 / 133 / 6
Регистрация: 11.09.2011
Сообщений: 407
16.07.2012, 14:07     Пространство имён #2
Это для того, чтобы имена не пересекались?
да
Неужели трудно придумать любые другие, и просто вписать using namespace std; в самом начале?
я того же мнения : ) поэтому обычно пишу using namespace std; кстате в какойто книге читал что лучше весь std неймспейс подключать всегда. т.е. в одной книге напишут одно в другой другое. в общем, если не мешает то используй весь std.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
16.07.2012, 14:18     Пространство имён #3
Тема достаточно холиварная и поднимается не первый раз.
http://www.cyberforum.ru/blogs/34326/blog275.html
Yandex
Объявления
16.07.2012, 14:18     Пространство имён
Ответ Создать тему
Опции темы

Текущее время: 19:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru