![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Rockie |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
Здравствуйте!
Вот два варианта программы:
Второй чем-то выгодно отличается от первого? |
||||
|
|||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 8 Всего: 37 |
первый выгодно отличается от второго
|
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| archimed7592 |
|
||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
не знаю почему, но мне кажется самым правильным 3-й вариант
в принципе, в любом случае не рекомендую делать так для стандартных библиотек:
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||
|
|||||
| Rockie |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
Sartorius, согласен, но почему-то часто вижу второй вариант. Вот и решил поинтересоваться. Daevaorn, ага! А можно поподробнее? То есть грубо говоря в первом случае при каждом вызове cout компилятор будет "пробегаться" по неймспейсу и искать его, поэтому медленнее? На размер исходника это не влияет, как понимаю, то есть компилятор возьмет из неймспейса только то, что нужно и не больше?
archimed7592, ничего себе Это сообщение отредактировал(а) Rockie - 12.11.2006, 19:25 -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
||||
|
|||||
| Daevaorn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
Грубо говоря, да.
Нет, не влияет. |
||||
|
|||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| EvgenZ |
|
||||
![]() Freedom in me ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: 1 Всего: 11 |
Меня учили, что using namespace std; писать вообще нигде не стоит... лучше писать using std::cout; или std::cout<< "Something" << cout << std::endl;. Как говорил мне один человек:
я с ним польностью согласен. Другой говорил следующее:
с ним я тоже польностью согласен -------------------- <удалено администрацией форума> |
||||
|
|||||
| Rockie |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
а почему? Потомучто в разных неймспейсах может быть к примеру одна и та же переменная?
..почему? Это статья, можно почитать? -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
||||
|
|||||
| Fazil6 |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
потому, что все объявленное в областьи видимости нэймспэйса становится видимым глобально
да забудьте вы о usung. Не отвалятся у вас пальцы std набрать. Код нагляднее. Если длинные имена получаются, так typedef есть |
||||
|
|||||
| EvgenZ |
|
|||
![]() Freedom in me ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: 1 Всего: 11 |
Нет, это не статья, это просто говорили мне люди которые с этим довольно плотно работали.
1. Да. Неймспейсы и созданы для исключения путаницы с именами, а написав using namespace ; сразу вся идея пропадает, они становятся открытыми и наступает полный провал. А если большой проект разрабатывается группой программистов и у каждого повторяются имена... 2. Область действия функции - функция -> небольшая область где все можно просмотреть без особого гемора и можно особо не преживать, что случится путаница в именах (и то не всегда). Есть неименованные пространства имен например
и никой путаницы для каждого нэймспэса файл является болком трансляции, т.е. b будет равна 10. -------------------- <удалено администрацией форума> |
|||
|
||||
| Rockie |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
EvgenZ, спасибо.
попрбовал,
-------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
||||||
|
|||||||
| EvgenZ |
|
|||
![]() Freedom in me ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: 1 Всего: 11 |
да вроде работает... выводит "10". Если закоменчена 1 строка и "5" если закоменчена 2. -------------------- <удалено администрацией форума> |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |