Почему не стоит использовать using namespace std
Перейти к содержимому

Почему не стоит использовать using namespace std

  • автор:

Почему использование пространства имен std считается плохой практикой?

Здравствуйте! Почему использование пространства имен std (using namespace std) считается плохой практикой? Язык плюсы изучаю сам, та и тем более мне этот язык сильно нравиться.Смотрел лекции на ютубе которые вел Тимофей Харьянов — именно он говорил что использование using namespace std это очень плохо, даже Бьёрн Страуструп не рекомендует..Пошел гуглить как ответа и не понял..

  • Вопрос задан более трёх лет назад
  • 872 просмотра

Комментировать

Решения вопроса 1

Adamos

Например, потому, что в пространстве std хренова туча объявленных в библиотеке функций, про которые вы, возможно, даже не подозреваете. И можете назвать свою собственную функцию так же. Даже не подозревая, что при каждом ее вызове компилятор теперь сомневается, которую использовать — вашу или библиотечную. И решение в пользу библиотечной (например, потому, что вы ошиблись в аргументах) окажется для вас сюрпризом.

Ответ написан более трёх лет назад

Нравится 6 4 комментария

Стоит ли переходить на std:: или же лучше остаться на using namespace std?

Пишу на C++. Слышал что хорошие программисты используют std:: . Стоит ли тоже перейти и писать так же или же лучше оставаться на using namespace std и не вешать геморой на задницу?

  • Вопрос задан более трёх лет назад
  • 963 просмотра

5 комментариев

Простой 5 комментариев

longclaps

По правде, это именно то, без чего тебе никогда не стать хорошим программистом.
vladik_koresh @vladik_koresh Автор вопроса
longclaps, а можешь объяснить зачем его использовать, в чём плюсы? Ведь зачем то облегчили юзингом.

longclaps

vladik_koresh, ну что ты как маленький? Какой кодестайл в команде принят, в таком и пишут.
vladik_koresh @vladik_koresh Автор вопроса
longclaps, я не опытный программист, да и вообще ещё не программист толком)

myjcom

Roman @myjcom Куратор тега C++
Решения вопроса 0
Ответы на вопрос 2

mrjbom

А какие минусы в использовании using namespace std? По моему никаких, это только делает код более читабельным.

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Vitaly @vt4a2h Куратор тега C++
Senior software engineer (C++/Qt/boost)

Основная проблема — это возможные конфликты имён, в особенности, если вы прописываете использование нескольких пространств имён таким образом. Помимо этого, есть риск получить очень много вариантов различных конструкций в списке автодополнения IDE. Сам по себе std — это очень короткий идентификатор, поэтому опускать его нет особого смысла.

PS
Ко всему прочему, никогда не пишите «using namespace» в заголовочных файлах. За исключением случаев, когда вы действительно понимаете что делаете.

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

программирование

  • Программирование
  • +2 ещё

С++ Как правильно вернуть ссылку?

  • 1 подписчик
  • 45 минут назад
  • 18 просмотров

Почему using namespace std — плохо?

Используя пространства имен, мы можем явно указать, из какого пространства имен мы хотим использовать определенный символ. Например, в коде std::cout , std является пространством имен, а cout — символом из этого пространства имен, представляющим стандартный поток вывода. Использование ключевого слова using namespace std позволяет нам обращаться к символам из пространства имен std без явного указания этого пространства имен каждый раз. Однако, это также может привести к проблемам. Например, если мы имеем два различных пространства имен, каждое со своим символом info , и мы используем using namespace для обоих пространств имен, то возникает конфликт имён. Компилятор не знает, из какого пространства имен мы хотим использовать info , и может возникнуть неоднозначность. Чтобы избежать таких проблем, хорошей практикой является указывать пространство имен перед каждым символом или использовать только необходимые символы из пространства имен с помощью оператора разрешения области видимости :: . Также стоит избегать использования using namespace в глобальной области видимости в заголовочных файлах, чтобы не добавлять символы из пространства имен в глобальную область видимости всего проекта.

Более простым языком я рассказал об этом в своем телеграм канале: https://t.me/Aren_et_adventures/12

Категории

Счётчик посещений

Теги

© Арен Елчинян 2022-2023 Powered byBludit

Почему не стоит использовать using namespace std

Author24 — интернет-сервис помощи студентам

Стоит ли использовать «using namespace std»?
В разных источниках все по-разному относятся к этой строчке. Почему ее стоит или не стоит.

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

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

Почему using namespace std в разных местах?
Почему в одной программе начало такое #include <iostream> using namespace std; int main()

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *