1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
||||||
1 | ||||||
Пространство имен и конфликт имен04.10.2020, 22:00. Показов 4173. Ответов 32
Доброго времени суток уважаемые пользователи. В контексте решаемой задачи возникла необходимость написать функцию деления двух чисел, в ней нет абсолютно ничего особенного, да и вопрос, собственно, не к функции. Вот ее код:
0
|
04.10.2020, 22:00 | |
Ответы с готовыми решениями:
32
пространство имен Пространство имен пространство имён Пространство имен |
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
|
04.10.2020, 22:05 [ТС] | 3 |
iostream подключает много всего если использовать using namespace std, а у меня подключены именно три функции cout, cin и endl и ничего кроме них не должно подключаться
0
|
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
|
04.10.2020, 22:12 [ТС] | 5 |
И вообще подключение файла не равнозначно подключению пространства имен этого файла
0
|
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
|
04.10.2020, 22:14 [ТС] | 7 |
Вот тут можно подробнее или ссылки на источники
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
04.10.2020, 22:17 | 8 |
Про что подробнее и на источники о чем? Что конкретно не понятно? Представь, что у тебя функция div просто валяется в хидере. Все. Ты объявляешь такую же - конфликт. Пространства имен тут не участвуют никаким боком.
0
|
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
|
04.10.2020, 22:22 [ТС] | 9 |
Благодарю за пояснение, мне было известно об отсутствии пространства имен в C, но полагал, как оказалось ошибочно, что в плюсах каждый файл относятся к конкретному пространству имен, в том числе и сишные
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||||
04.10.2020, 22:27 | 10 | |||||
Нет, это две несвязанные сущности. Плюсовый заголовочник потом просто сишную функцию через
1
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
04.10.2020, 22:32 | 11 |
не по теме вопроса:
как сказать. у Вас целочисленное деление + сама функция типа int. вряд ли это то что Вам нужно
0
|
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
|
04.10.2020, 22:46 [ТС] | 12 |
То, что это эти сущности не связаны, это спорное утверждение, так как пространство имен необходимо для предотвращения конфликта одинаковых имен в разных файлах
Добавлено через 5 минут Как уже было сказано, вопрос заключался в именно конфликте имен, а не в реализации функции, т.е. в необходимости рассмотреть функцию с сигнатурой схожей с уже имеющейся функцией.
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
04.10.2020, 22:50 | 13 |
Для чего оно надо - вопрос философский. И как связано имя std с заголовочным файлом iostream? Разве я не могу поменять имя файла не убрав из него std? Или наоборот, убрать std, оставив заголовочный файл. Так о какой конкретно связи речь?
0
|
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
|
04.10.2020, 22:56 [ТС] | 14 |
0
|
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
|
04.10.2020, 23:09 [ТС] | 16 |
Речь о том, что при наличии файла входящего в определенное пространство имен, невозможно использовать содержимое этого файла (будь то классы, функции и т.д.) без объявления using или директивы using
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
04.10.2020, 23:13 | 17 |
Тоже нет. И сама фраза, когда в пространство имен у тебя входит файл, она странная.
Ну да фиг с ним. Эта мистическая связь в твоей голове и привела тебя к созданию этой темы. Дальше думай, что хочешь
0
|
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
|
04.10.2020, 23:28 [ТС] | 18 |
К чему же в таком случае используется директива или объявление using?
Добавлено через 4 минуты Библиотека iostream, подключаемая через заголовочный файл iostream, входит в std, если быть точнее
0
|
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
04.10.2020, 23:35 | 19 |
вопрос сформулирован как то странно.
ты не русский что ли? не к "чему же", а "для чего". ключевое слово using позволяет объединить имя (или пространство имен) с текущим. например, в твоём случае: ты сообщил компилятору, что имя ::std::cout должно быть доступно в глобальном скоупе. теперь необязательно писать полное (квалифицированное) имя ::std::cout ,можно писать неквалифицированное (без указания полного пути) - cout для чего такое может быть нужно? например, просто для удобства разработчика. вот ты зачем написал свои чем руководствовался, когда написал эту строчку?
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
04.10.2020, 23:42 | 20 |
Я устал.
iostream - это просто имя файла. Никуда это файл не входит и ни откуда не выходит. Ни про какие "библиотеки" он тоже не в курсе.
0
|
04.10.2020, 23:42 | |
04.10.2020, 23:42 | |
Помогаю со студенческими работами здесь
20
Пространство имён Пространство имен Пространство имён! Пространство имён Пространство имен пространство имен Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
UserScript для подсветки кнопок языков программирования в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форм быстрого ответа, но и при редактировании сообщения:
/ / ==UserScript==
/ / @name CF_DefaultLangSelect
/ / . . .
|
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
|
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
|
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
|
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
|
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей
Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
|
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
|
Python и нейросети
InfoMaster 12.01.2025
Искусственные нейронные сети стали неотъемлемой частью современных технологий, революционизировав множество областей - от медицинской диагностики до автономных транспортных средств. Python, благодаря. . .
|
Python в машинном обучении
InfoMaster 12.01.2025
Python стал неотъемлемой частью современного машинного обучения, завоевав позицию ведущего языка программирования в этой области. Его популярность обусловлена несколькими ключевыми факторами, которые. . .
|
Создание UI на Python с TKinter
InfoMaster 12.01.2025
TKinter — это одна из наиболее популярных библиотек для создания графических интерфейсов пользователей (GUI) в языке программирования Python. TKinter входит в стандартную библиотеку Python, что. . .
|
HTML5 в разработке мобильных приложений
InfoMaster 12.01.2025
Введение: Обзор роли HTML5 в мобильной разработке
В современном мире мобильных технологий HTML5 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
|
Как создавать приложения для iOS/iPhone
InfoMaster 12.01.2025
Введение в разработку iOS-приложений
Разработка приложений для iOS открывает огромные возможности в мире мобильных технологий. С каждым годом количество пользователей iPhone и iPad растет,. . .
|