Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
kindertei
0 / 0 / 1
Регистрация: 04.08.2016
Сообщений: 96
Завершенные тесты: 2
1

Стоит ли использовать "using namespace std"?

27.10.2016, 20:44. Просмотров 2924. Ответов 29
Метки c++ (Все метки)

В разных источниках все по-разному относятся к этой строчке. Почему ее стоит или не стоит использовать? Чем лучше
std::cout. Что используется в реальной жизни?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2016, 20:44
Ответы с готовыми решениями:

Стоит ли использовать "Вихрь Мерсенна" (std::mt19937)?
Чем он отличается от "обычного" stdlib'ного ГПСЧ? Генерирует ли он более... качественные ПСЧ? И...

Ошибка namespace "std" не содержит члена "cout"
Вот такие ошибки в общем Собственно, вот сам код #pragma once #include <Windows.h>...

namespace "std" has no member "vector"
Собственно такая проблема, мне нужно использовать в программе std::vector, однако VC ругается, мол...

Коллеги что же все такие делает "using namespace std"?
Я понял то что "using namespace st" мы вводим для того что бы не писать "std::cout<<" ну а...

Для чего в коде нужна строка "using namespace std"?
у меня возникла проблема при удалении "using namespace std;" перестает работать cout точнее пишет ...

29
Ferrari F1
795 / 525 / 157
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
27.10.2016, 20:46 2
kindertei,
прога маленькая и она состоит из одного файла? Если да, то ничего плохого не будет в использовании.
0
nd2
3099 / 2593 / 1134
Регистрация: 29.01.2016
Сообщений: 8,690
27.10.2016, 21:05 3
Цитата Сообщение от kindertei Посмотреть сообщение
Почему ее стоит или не стоит использовать?
В заголовочных файлах категорически не стоит использовать ни директивы using, ни объявления using.
0
rikimaru2013
2516 / 1178 / 355
Регистрация: 30.11.2013
Сообщений: 3,792
27.10.2016, 21:07 4
Цитата Сообщение от nd2 Посмотреть сообщение
ни объявления using.
Блин, а я использую (((
0
27.10.2016, 21:07
nd2
3099 / 2593 / 1134
Регистрация: 29.01.2016
Сообщений: 8,690
27.10.2016, 21:10 5
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Блин, а я использую (((
И что?
0
Миниатюры
Стоит ли использовать "using namespace std"?  
kindertei
0 / 0 / 1
Регистрация: 04.08.2016
Сообщений: 96
Завершенные тесты: 2
27.10.2016, 21:13  [ТС] 6
почему?
0
castaway
Эксперт С++
4946 / 3052 / 455
Регистрация: 10.11.2010
Сообщений: 11,147
Записей в блоге: 10
Завершенные тесты: 1
27.10.2016, 21:13 7
Цитата Сообщение от kindertei Посмотреть сообщение
В разных источниках все по-разному относятся к этой строчке. Почему ее стоит или не стоит использовать? Чем лучше
std::cout. Что используется в реальной жизни?
Потому что не просто так придумали пространства имён, а для того, чтобы небыло коллизий этих самых имён.
Если вы это понимаете, то должны сами для себя решить, стоит делать так, или иначе.
0
nd2
3099 / 2593 / 1134
Регистрация: 29.01.2016
Сообщений: 8,690
27.10.2016, 21:15 8
Цитата Сообщение от kindertei Посмотреть сообщение
почему?
Это для тебя, первая часть.
1
Миниатюры
Стоит ли использовать "using namespace std"?  
nd2
3099 / 2593 / 1134
Регистрация: 29.01.2016
Сообщений: 8,690
27.10.2016, 21:17 9
И опять для тебя, третья часть.
1
Миниатюры
Стоит ли использовать "using namespace std"?  
Ferrari F1
795 / 525 / 157
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
27.10.2016, 21:19 10
nd2, а это что за книга?
0
nd2
3099 / 2593 / 1134
Регистрация: 29.01.2016
Сообщений: 8,690
27.10.2016, 21:21 11
Герб Саттер "Решение сложных задач на C++"
1
Croessmah
++Ͻ
15896 / 9018 / 1734
Регистрация: 27.09.2012
Сообщений: 22,169
Записей в блоге: 2
Завершенные тесты: 2
27.10.2016, 21:24 12
Цитата Сообщение от kindertei Посмотреть сообщение
Стоит ли использовать "using namespace std"?
Если это нужно - стоит. Но только если Вы понимаете что и зачем Вы делаете.
0
Selot
27.10.2016, 21:25
  #13

Не по теме:

как раз недавно напоролся на коллизию, когда бинд сокетов пересекался с биндом из stl :)

0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7669 / 3815 / 523
Регистрация: 04.12.2011
Сообщений: 11,072
Записей в блоге: 7
27.10.2016, 21:28 14
kindertei, давай подумаем в чём суть вопроса и в чём его цена. Директива using упрощает набор имени. Плата за это - появление в области видимости новых имён. Если писать пример для форума, то это не вопрос. А если делать что-то долгоживущее, то вопрос. Обычно, когда человеку это нужно, он уже знает ответ.
1
rikimaru2013
2516 / 1178 / 355
Регистрация: 30.11.2013
Сообщений: 3,792
27.10.2016, 21:35 15
nd2,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma  once
// Foo.h
class Foo
{
public:
    using FooType = int;
};
 
/////////////////////////////////////////////////////////////////////////////////////////
//main.cpp
int main()
{
    Foo::FooType r = 154;
}
И что тут не правильного то?
0
nd2
3099 / 2593 / 1134
Регистрация: 29.01.2016
Сообщений: 8,690
27.10.2016, 22:18 16
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
И что тут не правильного то?
Написано же...
0
Миниатюры
Стоит ли использовать "using namespace std"?  
castaway
Эксперт С++
4946 / 3052 / 455
Регистрация: 10.11.2010
Сообщений: 11,147
Записей в блоге: 10
Завершенные тесты: 1
27.10.2016, 22:30 17
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
И что тут не правильного то?
Тут всё нормально.
0
rikimaru2013
2516 / 1178 / 355
Регистрация: 30.11.2013
Сообщений: 3,792
27.10.2016, 22:38 18
castaway, тогда почему nd2 не разрешает мне использовать using в header? (((
0
castaway
Эксперт С++
4946 / 3052 / 455
Регистрация: 10.11.2010
Сообщений: 11,147
Записей в блоге: 10
Завершенные тесты: 1
27.10.2016, 22:43 19
rikimaru2013, я разрешаю. Используйте.
2
hoggy
Эксперт С++
7407 / 3333 / 689
Регистрация: 15.11.2014
Сообщений: 7,617
Завершенные тесты: 1
27.10.2016, 22:44 20
Цитата Сообщение от kindertei Посмотреть сообщение
В разных источниках все по-разному относятся к этой строчке.
если есть тень сомнения - уже не стоит.

Цитата Сообщение от kindertei Посмотреть сообщение
Что используется в реальной жизни?
явное указание неймпспейсов.
0
27.10.2016, 22:44
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2016, 22:44

Недавно понял, что не знаю значения "using namespace std;"
Писал программу поздравление для друга. Основывался на уроках для начинающих. В первом уроке...

Что использовать, std::cout или просто using namespace std?
Приветствую! Сейчас учу С++, постигаю азы так сказать. В арсенале две книги - Джефф Кент, ...

Использовать using namespace std; или каждый раз прописывать std:: . ?
Как безопаснее и рациональнее поступать? Как в больших проектах поступают на этот счет?


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

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

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