|
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
||||||
Пространство имен и конфликт имен04.10.2020, 22:00. Показов 4911. Ответов 32
Доброго времени суток уважаемые пользователи. В контексте решаемой задачи возникла необходимость написать функцию деления двух чисел, в ней нет абсолютно ничего особенного, да и вопрос, собственно, не к функции. Вот ее код:
0
|
||||||
| 04.10.2020, 22:00 | |
|
Ответы с готовыми решениями:
32
пространство имен Пространство имен пространство имён |
|
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
||||
| 04.10.2020, 23:58 [ТС] | ||||
|
Добавлено через 13 минут
0
|
||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||
| 05.10.2020, 00:06 | ||
|
#include <файл> вставляет в том месте, где он написан, текст из <файл>. Когда вся иерархия инклудов вставилась в один файл - компиляция. Всё. Не надо выдумывать, кто куда входит, кто с чем связан, и к какому файлу отновится using, или не относится.
1
|
||
|
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
|||
| 05.10.2020, 00:31 [ТС] | |||
|
Добавлено через 11 минут Добавлено через 4 минуты Vourhey, Буду Вам очень признателен, если получу комментарий к моему последнему утверждению
0
|
|||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||||||
| 05.10.2020, 00:45 | ||||||||
|
Весь текст из stdlib.h попал в твой исходный код в месте, где у тебя #include <iostream>. При чем тут using или не-using? Добавлено через 58 секунд Добавлено через 12 минут Если все сократить, то у тебя перед компиляцией получился такой примерно код в твоем исходнике:
2
|
||||||||
|
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
||
| 05.10.2020, 00:49 [ТС] | ||
|
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 05.10.2020, 00:58 | ||
Сообщение было отмечено DrFaust1729 как решение
Решение
DrFaust1729, потому что iostream чисто с++-сный заголовочный файл, и все, что из него "просто вставляется в текст" находится внутри namespace std. А вот то, что "просто вставляется в текст" из попутно попавшихся си-шных заголовочных файлов естественно вставляется без namespace std. Любой cи-шный заголовочный файл в адаптации с++ (с переносом си-шных функций в std:: и префиксом
с перед именем файла) может содержать и оригинальные объявления из си, без всяких namespace.Добавлено через 4 минуты
1
|
||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||
| 05.10.2020, 01:08 | ||
|
Добавлено через 1 минуту Не по теме: Ой. DrOffset уже это написал. Не видел.
1
|
||
|
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
|
| 05.10.2020, 01:10 [ТС] | |
|
Спасибо DrOffset, т.е. препроцессор вставляет в текст весь код из заголовочного файла, но некоторые элементы не входят ни в какие пространства имен (сишные), а некоторые (с++-сные) входят, и для них и используется using.
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||
| 05.10.2020, 01:14 | ||||
|
0
|
||||
|
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
|||
| 05.10.2020, 01:18 [ТС] | |||
|
0
|
|||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 05.10.2020, 01:20 | |
Сообщение было отмечено DrFaust1729 как решение
Решение
1
|
|
|
1 / 1 / 0
Регистрация: 15.02.2020
Сообщений: 23
|
|
| 05.10.2020, 01:24 [ТС] | |
|
Спасибо большое пользователю DrOffset и особенно пользователю Vourhey
. Считаю вопрос закрытым.
0
|
|
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
|
||
| 05.10.2020, 06:09 | ||
|
Ситауция с <name.h> заголовками (которые, кстати, deprecated) полность симметрична ситуации с <cname> заголовками. То есть заголовки <name.h> должны объявлять все имена в глобальном пространстве имен, но имеют при этом полное право объявлять их сначала в пространстве имен std, а затем просто вытаскивать в глобальное через using-объявления. В частности, заголовок <name.h> может включать в себя заголовок <cname> и реализовать себя на основе его. И наоборот. Все зависит от реализации.
0
|
||
| 05.10.2020, 06:09 | |
|
Пространство имен Пространство имён
Пространство имён! Пространство имён Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|