LINUX.ORG.RU

История изменений

Исправление mittorn, (текущая версия) :

Насчёт 23 не знаю (там c++ уже совсем ушёл не туда), но вот хороший пример того, что на старых c++ не сделаешь без кастомных препроцессоров:
https://gitlab.com/mittorn/xrBinder/-/blob/master/src/layer_shims.cpp?ref_typ...
тут в компилтайме строится хэш-таблица, по которой потом в рантайме находится функция
с++17 раскрывает довольно много возможностей для метапрограммирования, c++20 закрывает часть возникших там проблем (вроде проверки на consteval и constexpr bit_cast, без которого нельзя нормально получить биты float в compile-time)
Не, ну конечно можно сказать что всё это программирование и шаблоны не нужны, но с тем же успехом можно продолжать писать на C90 не зная бед (и уродливо заполняя vtable вручную), но если хочется писать сразу компактный код без стороннего препроцессора - этого конечно же будет мало.

Исходная версия mittorn, :

Насчёт 23 не знаю (там c++ уже совсем ушёл вникуда), но вот хороший пример того, что на старых c++ не сделаешь без кастомных препроцессоров:
https://gitlab.com/mittorn/xrBinder/-/blob/master/src/layer_shims.cpp?ref_typ...
тут в компилтайме строится хэш-таблица, по которой потом в рантайме находится функция
с++17 раскрывает довольно много возможностей для метапрограммирования, c++20 закрывает часть возникших там проблем (вроде проверки на consteval и constexpr bit_cast, без которого нельзя нормально получить биты float в compile-time)
Не, ну конечно можно сказать что всё это программирование и шаблоны не нужны, но с тем же успехом можно продолжать писать на C90 не зная бед (и уродливо заполняя vtable вручную), но если хочется писать сразу компактный код без стороннего препроцессора - этого конечно же будет мало.