vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
|
||||||||||||||||
#1 | ||||||||||||||||
Использование using namespace std; - C++29.03.2013, 00:50. Просмотров 3433. Ответов 12
Метки нет Все метки)
(
Я где-то слышал что использование такой диррективы на корню убивает пространство имен, но ведь только в boost и stl есть похожие классы, если я не использую boost, то в loki или другой библиотеке вроде нет таких команд. Посоветуйте как пользоваться это диррективой, как закончить блок using. Просто мне начала казаться что
что-то вроде
Расскажи что об этом думаете? Добавлено через 5 минут В похожей теме напоролся на можно использовать
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
29.03.2013, 00:50 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Использование using namespace std; (C++):
12
что использовать std::cout или просто using namespace std? - C++ Зачем часто писать std::, если можно один раз using namespace std? - C++ Пространство имен - namespace std или std:: - C++ Using namespace std - C++ using namespace std - C++ namespace std - C++ |
Gepar
1180 / 536 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
29.03.2013, 01:05 | #2 |
Объявляю войну using namespace zzz VS using zzz:xxx открытой!
Ну просто почему-то на многих действует using namespace std как красная тряпка и они начинают рассказывать как это не хорошо писать вот так одну строчку, когда они мучаются и перечисляют всё-всё-всё что юзают из std. От части то оно лучше когда перечисляешь - сразу видно хотябы что именно ты используешь, но это и правда утомительно когда что-то пишеться для себя на раз.
1
|
vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
|
|
29.03.2013, 01:10 [ТС] | #3 |
А если всегда не для себя, лучше использовать сложные конструкции (как в моем примере массив из строк, или умный указатель на вектор) ?
Две дороги видны библиотеки, но сложная конструкция. Не видны библиотеки и непонятно что откуда берется, но все эстетически отображено как на программах высокого уровня?
0
|
SummerRain
327 / 326 / 17
Регистрация: 16.12.2012
Сообщений: 544
|
|
29.03.2013, 01:12 | #4 |
не нужно использовать юзинги в заголовочных файлах без необходимости. Потому что в тех проектах, куда подключается этот заголовок, тоже будут эти юзинги, а пользователи этих заголовков могут этого не захотеть.
А cpp файлах уже смотрите сами, если не используете других пространств имён. В C# вообще миниум штук 5 юзингов.
1
|
vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
|
|
29.03.2013, 01:17 [ТС] | #5 |
Да, действительно грамотный совет, чтобы метаданные не мешать с заголовками. А в сипипи можно думать. И последний из не отвеченных вопросов можно как то прекратить использование директивы (end using)
0
|
Friday
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
|
|
29.03.2013, 01:18 | #6 |
ну вообще - от ситуации зависит, лично я чаще всего пишу в одну строчку
а если много инклудов, и видно что namespace переплетатся будут, то приходится лепить std:: З.Ы. ИМХО
1
|
Gepar
1180 / 536 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
29.03.2013, 01:20 | #7 |
нет. Это не define чтобы можно было отменить.
Слово "метаданные" здесь не очень подходит.
1
|
alsav22
5434 / 4829 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
29.03.2013, 01:25 | #8 |
1
|
vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
|
|
29.03.2013, 01:29 [ТС] | #9 |
Значит, я правильно пользовался гуглом, раз не нашел.
Не совсем верно сформулировано предложение, правильнее сказать чтобы к метаданным не добавлять дополнительных директив. Я наверное остановлюсь на неиспользовании, но все равно спасибо. Думаю вопрос закрыт.
0
|
rangerx
1941 / 1550 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
|
|||||||||||
29.03.2013, 02:10 | #10 | ||||||||||
Можно.
Что касается шаблонов вроде
2
|
vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
|
|
29.03.2013, 02:20 [ТС] | #11 |
0
|
Tulosba
:)
![]() 4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||
29.03.2013, 08:12 | #12 | |||||
А можно и тот же using использовать:
0
|
Croessmah
Ушел
|
|
29.03.2013, 08:43 | #13 |
Для справки: include <?> для cout
Конфликт: Возникает ошибка с using namespace std; Конфликт: "error C2872: неоднозначный символ" при переменной count Конфликт: Как значение массива другому массиву? Ну и просто так: Почему неверно писать #include <iostream.h>?
1
|
29.03.2013, 08:43 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
29.03.2013, 08:43 |
Привет! Вот еще темы с ответами:
13
using namespace std; - C++
std:: vs namespace - C++ Что означает using namespace std? - C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |