Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 1
Регистрация: 04.10.2012
Сообщений: 45
1

Повторное подключение. Почему не ограничено автоматически?

21.11.2012, 14:51. Показов 890. Ответов 2
Метки нет (Все метки)

Есть разные способы ограничить повторное подключение заголовочных файлов, библиотек. Но неужели нельзя было организовать компиляторы так, чтобы они автоматически отсекали повторные подключения? Отсюда вопрос: в каких-то ситуациях имеет смысл подключать заголовочных файл не один раз? Зачем?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2012, 14:51
Ответы с готовыми решениями:

Подключение ограничено
установили тарелку для выделенной линии под интернет мегафон. настройки дали. если подключаешь...

Подключение на роутере ОГРАНИЧЕНО
Здравствуйте! Есть роутер tp link wr740nd. Интернет работал до этого дня, все ок. И вот, утром,...

Сетевое подключение ограничено на ноутбуке
У человека ноут ASUS X751MD. Установлена Win 8.1 Pro 64. Задача - обновить до Win10, предложение в...

Подключение ограничено или отсутствует
Здравствуйте. После переустановки драйвера м/платы возникли проблемы с подключением к сети...

2
~ Эврика! ~
1254 / 1003 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
21.11.2012, 15:17 2
Затем, что это не подключение чего бы то ни было. Это тупая вставка содержимого файла в то, что будет передаваться компилятору. Конечно, можно вставить несколько раз и всё поломать, если вставлять бездумно.

Затем, что так проще. «Я компилятор. И хотел бы, в идеале, чтобы за меня эту проблему решал программист».

Затем, что есть #pragma once, которая «автоматически отсекает повторные подключения».

Затем, что обратная совместимость и никто не будет менять то, что живёт уже 40 лет, дабы ничего не сломать. Каким бы ужасным оно ни было.

В принципе, можно придумать такой вариант:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int lookup_table_1[] = {
#include "big_data1.dat"
,
#include "big_data2.dat"
,
#include "big_data3.dat"
};
 
int lookup_table_2[] = {
#include "big_data4.dat"
,
#include "big_data2.dat" // внезапно
,
#include "big_data5.dat"
};
Естественно, несколько раз вставлять можно только сырые данные (или сырой код), но никак не определения, так как они не могут повторяться. Да и то это знак, что вы что-то делаете не так.

Не парьте себе мозг. Если что-то можно делать, это вовсе не обязательно делать.
1
1 / 1 / 1
Регистрация: 04.10.2012
Сообщений: 45
21.11.2012, 16:07  [ТС] 3
Затем, что так проще. «Я компилятор. И хотел бы, в идеале, чтобы за меня эту проблему решал программист».
Ну это ж не логично. Тем более инклудами занимается препроцессор.
Затем, что обратная совместимость и никто не будет менять то, что живёт уже 40 лет, дабы ничего не сломать. Каким бы ужасным оно ни было.
Вот это ответ.
В принципе, можно придумать такой вариант:
Вот и пример. Супер)
Не парьте себе мозг. Если что-то можно делать, это вовсе не обязательно делать.
Ну почему? Знание лучше, чем не знание.

Вообще спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2012, 16:07

После обновления до Windows 10 ограничено подключение по Wi-Fi
Уважаемые форумчане! Проблема заключается в следующем.После обновы на 10-ку на ноуте Dell Inspiron...

Ошибка 10010, ограничено подключение к сети
Постоянные обрывы сети WiFi. После того, как выключу и ключу "Режим "В самолете"" все приходит в...

Подключение Ограничено Wi-Fi . Планшет microsoft surface 3 128gb
Не могу подключиться к Wi-fi.Раздаю Wi-fi c ноутбука с iphone,windows phone подключается,а с...

Wi-fi работает только на основном пк\у остальных "подключение ограничено
Роутер TP-LINK Model No. TL-WR843ND В общем кабель провайдера в порте WAN\Internet. + от порта №...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.