Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

В чем разница между cin/cout и std::cin/std::cout?

вавапвап вапсВафа Ученик (98), закрыт 2 года назад
Лучший ответ
Андрей Высший разум (483743) 2 года назад
В первом случае ты написал в коде:
using namespace std;
И компилятор С++ автоматически ищет неизвестные идентификаторы в пространстве имён std.

Во втором случае ты явно указываешь компилятору, в каком пространстве имён находится данный идентификатор.

Первый вариант короче, второй надёжнее: в using namespace может быть указано множество пространств имён, а в разных пространствах могут быть совпадающие идентификаторы. В результате может возникнуть ситуация, когда компилятор столкнётся с тем, что используемый идентификатор существует сразу в нескольких объявленных по умолчанию пространствах имён. Или ты сам запутаешься и будет подключен идентификатор не из того пространства имён, которое ты ожидал.
Остальные ответы
Def Гений (67114) 2 года назад
В том, что кто-то не знает, что такое пространство имен
Dmitry Оракул (63731) 2 года назад
В первом случае использование идет без явного указания пространства имен (std), во втором случае идет явное указание пространства имен.

Вызов в первом случае может (полагаю, т.к не знаю С++) привести к ошибкам, если не включить это пространство имен в проект.
Похожие вопросы