«Development (сегодня 0)» #define intentions Что-то в LT/Dev совсем тухловато, попробую наполнить… На старом ЛОРе это был мой любимый раздел… int main () { Пишите сюда любые вопросы, набросы и запросы о C++, а я постараюсь ответить . 1. Каверзность и провокационность приветствуется. 2. Учебные задачи снабжайте Вашими собственными попытками решения 3. Не забывайте про https://godbolt.org/ и аналоги О себе: имею профессиональный и академический интерес в системном (low-level, zero-cost, hpc…) программировании; есть некоторый опыт преподавания. C++ язык далеко не самый ладный, но ничего лучше для этой области я пока не встречал. Мой профит от этой темы предельно прост: охота побо ЛТ ать. return 0;} // Терзают сомнения в успехе этого топика, но не могу противостоять Fais ce que dois, advienne, que pourr © // Перехват инициативы по ответам на вопросы, естественно, также не возбраняется…

Usruser «Мог бы, вежливости ради, сразу и перевести» “Делай, что должен – и будь, что будет”. Девиз рыцарей Кадош. «Поэтому если тебе для создания диалога в стиле греческих философов потребуется … кастуй.» Кастую «Я когда-то был бестолковым миддлом, но уже лет 10 профессионально не писал на плюсах. Сейчас хочу вернуться в профессию, но… гхм.» Почему перестал писать? Зачем хочешь вернуться? ox55ff «Контравариантность и ковариантность в c++. Есть ли жизнь?» Стакан наполовину полон. 0. Поддержки (ко-,контр-)вариантности в самом языке нет. Потому что система типов… оставляет желать лучшего. Либо, вариантность просто было нельзя
нормально сделать, учитывая другие фишки языка (например, множественное наследование, тем более ромб?). Я не знаю точных причин 1. Встроенная ковариантность есть для указателей (в том числе “умных”) и ссылок. 2. Шаблонные контейнеры из STL не вариантны вообще, даже для тех случаев, где это можно было сделать. 3. Контрвариантности (по аргументам) для функций нет, но если пользоваться враппером std::function, то будет работать. Его специально ввели, чтобы обмазать всякими удобностями, при этом не меняя core language. 4. Композиция вариантности не работает вообще. Потому что опять же пункт 0. То есть, два ковариантных шаблонных типа скорее всего потеряют это свойство, если их друг в друга вложить. 5. Для своего класса вариантность можно впилить с помощью std::is_convertible Хороший вопрос, спасибо! Если я где напутал, поправляйте, дополняйте. JamesHolden Про микроконтроллеры я ничего не знаю…
А вот про CPU и GPU можно что-нибудь обсудить. Ну и про суперкомпьютерные кластеры.
Долгая и тяжёлая болезнь не позволяла мне работать. А вернуться хочу потому что ничего более интересного чем писать на плюсах мне делать не приходилось.
Ладно, глупый нубский вопрос по C фактически.
Есть такая штука bumblebee daemon. У нее в исходниках какого-то рожна несколько глобальных для всего проекта переменных объявлены в .h файлах, причем без extern.
Эти .h файлы инклудятся в несколько модулей сразу, и при линковке возникает ошибка multiple definition.
Это понятно и ожидаемо, а вопрос вот в чем - это 10 лет компилировалось и работало! Сегодня я заметил что перестало. Как???
Ну всё ясно. Эти товарищи горазды на всякие хаки.
Хотелось бы понять суть хака. Я лично думал что так вообще нельзя.