Обновить
-4

Разработчик С++, Qt

0,1
Рейтинг
Отправить сообщение

Если нужно версии добавлять на контракты, то можно использовать аннотации рефлексии что поиде полностью покрывает ваши требования. Для реализации уже функций внутри структуры увы и ах, выносим за класс. А так можно тащить в проект тот же glaze или boost::pfr и не париться

я и говорю что qml(JSV4). Немного юзаьельным он стал только в Qt6. А могли бы просто развивать деларативный подход для написания gui в виджетах ( к примеру у imgui выходит неплохо это)

Так в анотации должно быть что-то что может быть вычеслено на этапе компиляции. string_view является contexpr же

Как программист на Qt скажу, а когда будет поддержка с++20 модулей будет? ой никогда так как Q_OBJECT макрос. А рефлексия это путь ( пока еще не до конца но путь)

Qt честно да прогрессивный, но сейчас очень сильно отстал, также забил вообще про написание ui через с++ и ринулись разивать кастрированый js

непонятно зачем люди сложно пишут на с++ если можно писать сильно проще. стреляют в колено, когда пишут на с++ образца старых годов или используя синтаксис С

Единственное замечание, что модули пока что нишевая штука, хоть на дворе 2026-ой. Вон XCode до сих пор их не поддерживает.

Ну буст часть своих либ первел на модули, а где-то еще вносится поддержка. Да переход очень тяжелый на с++ моудли, но после опыта написания на модулях, обратно очень неприятно переходить

напомню что еще стоит учитывать, что может подключатся import std из 23 стандарта

И среди всех этих бибилотек только argparse и cli11 умeют в модули. Вы ввели 20 стандарт в своей либе, но не сделали это без уважения.

Там же подвох в том что артефакты модулей для сборки иначе собираются ( в отличии от стандарных cpp ) , поэтому и спрашиваю как в этой системе сборки работает поддержка модулей

что там с поддержкой модулей с++20?

Linux ядро буквально живет на том же с++ но в синтаксие С. Те же абстракции, тот же rtti и vtable, обработка исключений. В ядро с++ не пустил фанатизм и то что с++ был сильно позже стандартизирован чем С

Так код с auto_ptr не скомпилируется с включенным С++17 ( как и throw() в конце объявлении функции)

Поэтому в модулях без экспортирования макросов. Ломают все

раз было 8 редакций то скорее всего не все так просто и проблем было много под капотом ( а не просто вид функции)

это только один из плюсов, есть и другие два - контроль над экспортом ( что не дают инклуды, благодаря чему есть namespace detail) и просто другая организация кода. что по скорости то gcc сейчас в 3 раза медленее билдит модули чем кланг

ну Антон один из основных майнтейнеров буста, так что как минимум ему можно написать

С gcc да согласен несколько сложнее жить. gcc в некоторых аспектах строже clang и сильно фанатичнее следует стандарту ( разработчики LLVM можно сказать оставили допущения на переходный период), плюс clangd сейчас умеет работать только clang модулями ( за то оч хорошо сейчас работает, проверял на macos и linux)

у буста немного другой подход к модуляризаци своих либ, не через такую прослойку. Посмотрите доклад антона полухина с С++ZeroCostConf 2025 ну или посмотрите на уже модулязирование либы буста. И пропробуйте модуляризировать в их стиле ( часть либ уже модулязирована)

Можно скомпилировать код с использованием с++26 и уже в коде будет меньше UB.

Поздравляю команду PVS-Studio с этим достижением, это очень значимое событие

Информация

В рейтинге
4 162-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Десктоп разработчик
Старший
ООП
Linux