Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.58/26: Рейтинг темы: голосов - 26, средняя оценка - 4.58
proger2030
12 / 12 / 5
Регистрация: 15.11.2010
Сообщений: 256
1

Пространство имен std

31.10.2011, 15:48. Просмотров 5187. Ответов 16
Метки нет (Все метки)

Какой стиль лучше ?
C++
1
2
3
 
using std::cout;
using std::endl;
or
C++
1
using namespace std;
or
C++
1
2
3
4
5
int main() {
  std:: cout << "Hello world" << std::endl;
 
  return 0;
 }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2011, 15:48
Ответы с готовыми решениями:

Пространство имен - namespace std или std::
В каких случая лучше писать (std::cout) или просто прописать (namespace std) и почему ?

Пространство имен std
В книге Дейтела (как, и в других источниках) написано, что можно написать using namespace std, а...

Пространство имен std
привет подскажите пожалуйста почему так? #include &lt;iostream&gt; #include &lt;string&gt; int main(){ ...

Почему опытные программисты не определяют пространство имен std?
Все чаще замечаю в различных статьях, на сайтах, форумах, что опытные программисты не используют...

Пространство имен
Как составить код, когда необходимо использовать классы и методы из разных пространств имен. К...

16
diagon
Higher
1940 / 1206 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
31.10.2011, 15:54 2
Обсуждалось же уже где-то. Зависит от задач, но точно не второе. Мне третий вариант больше нравиться.
0
amor1k
Студент
148 / 148 / 64
Регистрация: 18.01.2011
Сообщений: 469
31.10.2011, 16:01 3
а почему не второй? Я второй всегда использую, чтоб много раз не писать std::
0
Mr.X
Эксперт С++
3188 / 1715 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
31.10.2011, 16:07 4
Мне кажется, источник этой дурацкой моды – применение этих юзингов в книжках по программированию. Но там это для экономии букв делается. К программированию это не имеет никакого отношения.
0
31.10.2011, 16:07
Nameless One
Эксперт С++
5794 / 3443 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
31.10.2011, 16:10 5
amor1k, захламляется глобальное пространство имен
0
proger2030
12 / 12 / 5
Регистрация: 15.11.2010
Сообщений: 256
31.10.2011, 16:10  [ТС] 6
Цитата Сообщение от Mr.X Посмотреть сообщение
К программированию это не имеет никакого отношения.
а читабельность кода ?
0
Nameless One
Эксперт С++
5794 / 3443 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
31.10.2011, 16:17 7
proger2030, это вопрос вкуса. Лично мне код с явным указанием пространств имен кажется более понятным и однозначным
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1307 / 1222 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
31.10.2011, 16:22 8
В срр файлах указание using не критически страшно. Внутри функций вообще никаких противопоказаний.
0
amor1k
Студент
148 / 148 / 64
Регистрация: 18.01.2011
Сообщений: 469
31.10.2011, 16:31 9
А каков все-таки ваш вывод? Как лучше?
0
fasked
Эксперт С++
5002 / 2581 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
31.10.2011, 16:33 10
Цитата Сообщение от amor1k Посмотреть сообщение
А каков все-таки ваш вывод? Как лучше?
Если есть опасения выстрелить себе в ногу, то третий вариант. Если Вы уверены, что контролируете процесс, то без разницы абсолютно.
0
Dekio
Фрилансер
Эксперт С++
5839 / 1220 / 499
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 1
31.10.2011, 16:33 11
amor1k, как уже сказали дело вкуса. Лично я предпочитаю 3й вариант. Лучше сразу научиться грамотно писать, что бы не иметь проблем в больших проектах
0
dimcoder
Полярный
472 / 444 / 158
Регистрация: 11.09.2011
Сообщений: 1,153
31.10.2011, 16:34 12
Лично я пишу:

C++
1
cout << "Hello world" << endl;
НО при этом не записываю 1 или 2 вариант. У меня borland turbo c++ 3.0
0
fasked
Эксперт С++
5002 / 2581 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
31.10.2011, 16:36 13
Цитата Сообщение от dimcoder Посмотреть сообщение
У меня borland turbo c++ 3.0
Приветствуем Вас в 21-ом веке
Язык не стоит на месте, он развивается.
1
Dekio
Фрилансер
Эксперт С++
5839 / 1220 / 499
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 1
31.10.2011, 16:38 14
dimcoder, ваша среда 92 года... Стандарт есть уже 11 года. Вопросы?
0
Bers
Заблокирован
31.10.2011, 17:39 15
Всегда только 3й вариант.
Его оч легко привести ко второму варианту, без опасений выстрелить себе в ногу.
0
Holodov
5 / 5 / 2
Регистрация: 01.10.2011
Сообщений: 46
31.10.2011, 17:46 16
Цитата Сообщение от fasked Посмотреть сообщение
Если есть опасения выстрелить себе в ногу...
Бывают такие опасения , но не тут)
0
IpHuman
14 / 14 / 2
Регистрация: 28.01.2015
Сообщений: 26
25.03.2016, 16:35 17
Если небольшой проект - то проще использовать директиву Using. Но более безопасно объявление using так как показывает только те имена, которые решено сделать доступными. Если такое имя конфликтует с локальным, компилятор выдаст ошибку. А директива Using добавляет все имена, даже те что могут быть не нужны. Если локальное имя в этом случае вступает в конфликт, оно преопределяет версию имени из пространства имен, при этом никаких предупреждений не выводится. 3-й метод (::разрешение контекста) тоже безопасен, он всегда позволяет явно знать какого пространства имен переменная, в случае если объявление или директива находятся далеко + не возникает неопределенность.
0
25.03.2016, 16:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2016, 16:35

Пространство имен
Зачем пространство имен в программировании я чет не понимаю? У мну в учебнике отак написано....

пространство имен
Здравствуйте! У меня вопрос...В си есть такая функция printf, которая аналогична функции С++...

Пространство имен
Я часто встречаю в книгах, туторах, что объявлять пространство имен в больших проектах нельзя(не...


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

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

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