0 / 0 / 0
Регистрация: 01.04.2010
Сообщений: 4
|
|
1 | |
cout vs. std::cout04.04.2010, 03:36. Показов 10083. Ответов 11
Метки нет (Все метки)
всем доброго времени суток.
начал самостоятельно изучать c++. скачал в сети много разныx умныx книжек.. обнаружил в примераx кода основное различие: одни авторы объявляют пространство имён std и далее использую комманды cout, cin итд. совершенно нормально. другие авторы учат изначально объявлению std::cout, std::cin без объявления данного пространства имён заранее. в чем смысл? заранее благодарен )
0
|
04.04.2010, 03:36 | |
Ответы с готовыми решениями:
11
В чем разница std::cout и просто cout? Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream Операция std::cout для Объекта типа std::string Что использовать, std::cout или просто using namespace std? |
04.04.2010, 03:55 | 2 | |||||
это единственный правильный способ, по двум причинам. 1. не приходится переживать о перекрытии/смешении функций/классов с другим, открытым пространством имен. 2. при использовании нескольких библиотек в проекте, указание пространства имен, позволяет четко понимать, чьи классы/методы используются.
2
|
10 / 10 / 2
Регистрация: 01.02.2010
Сообщений: 317
|
|
04.04.2010, 13:44 | 4 |
а я вот просто пишу cout и cin без объявления пространства имен. как так?
0
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
04.04.2010, 14:30 | 6 |
Весь смысл укладывается в два поста niXman'а:
Вполне возможно, что это переизданная старая редакция книги, в которой исправлены некоторые ошибки, но код не перерабатывался, ведь пространства имен - это довольно молодое явление Sundiver, а вообще эта тема не раз уже обсуждалась, на форуме можно найти много интересного по этому вопросу
0
|
0 / 0 / 0
Регистрация: 01.04.2010
Сообщений: 4
|
|
04.04.2010, 16:21 [ТС] | 7 |
т.е. этим пространством имён можно пользоваться более менее безопасно, если объявлять его только в каком-то определённом блоке или функции. ?! например в main?!
0
|
0 / 0 / 0
Регистрация: 01.04.2010
Сообщений: 4
|
|
04.04.2010, 17:40 [ТС] | 9 |
например, раскрываю пространство имён "уныйдядька" и наблюдаю там функцию cerr, т.е. этот умный дядька её перегрузил получается. и если мне нужно будет использовать её с обоиx пространств, то соответственно прописывать: umnijdyadka::cerr; & std::cerr;
0
|
Модератор
12835 / 7571 / 1765
Регистрация: 25.07.2009
Сообщений: 13,968
|
||||||
04.04.2010, 17:47 | 11 | |||||
Наглядный пример того, как НИКОГДА не нужно делать, но просто для разнообразия
1
|
0 / 0 / 0
Регистрация: 01.04.2010
Сообщений: 4
|
|
04.04.2010, 20:18 [ТС] | 12 |
речь идёт о том, что если в другом пространстве имён имеется такой-же объэкт как и в пространстве std, то получается перегрузка и использовать объект в чистом виде без указания на пространство имён - опасно?! Добавлено через 2 часа 22 минуты easybudda, сапсибо, всё ясно) то что пытался выразить)
0
|
04.04.2010, 20:18 | |
04.04.2010, 20:18 | |
Помогаю со студенческими работами здесь
12
Стандартный поток и STL (std::copy to std::cout) Cout <<endl; Что это значит? Если ничего нету в cout? Не работает std::cout || std::cin Ошибка в std::cout<<std::endl Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout Разница между fwrite, cout и cout.write Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как работать с Kafka в Go (Golang)
bytestream 22.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки событий и интеграции микросервисов. Эта система, изначально. . .
|
Как использовать RabbitMQ в Go (Golang)
bytestream 22.01.2025
RabbitMQ представляет собой надежный и широко используемый брокер сообщений, который играет ключевую роль в построении современных распределенных систем и микросервисной архитектуры. В основе работы. . .
|
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
|
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
|
Как добавить пустую директорию в репозиторий Git
bytestream 22.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо сохранить пустую директорию в репозитории. Данная задача может показаться простой на первый. . .
|
Как валидировать адрес email в JavaScript
bytestream 22.01.2025
JavaScript, как основной язык веб-разработки, предоставляет разработчикам множество инструментов для реализации эффективной валидации email-адресов. От простых встроенных решений до сложных. . .
|
Как заменить все вхождения подстроки в JavaScript
bytestream 22.01.2025
Строки в JavaScript представляют собой неизменяемые последовательности символов, что делает их обработку особенно интересной с точки зрения оптимизации и выбора правильного подхода к решению задач.
. . .
|
Управление версиями пакетов в Node.js. В чем разница между тильдой (~) и кареткой (^) в package.json
bytestream 22.01.2025
В современной разработке программного обеспечения управление версиями пакетов играет ключевую роль в обеспечении стабильности и надежности проектов. Node. js, как одна из самых популярных платформ для. . .
|
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
|
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
|
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
|
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
|