Откройте для себя рефлексию времени компиляции C++26 ( lemire.me )
Кроме того, стоит прочитать стандартный документ с предложениями, в котором приведено множество примеров того, как это может быть использовано в будущем.
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p29…
Спасибо за эту ссылку. Между ней и основной статьей у меня гораздо лучшее представление о том, как отражение времени компиляции будет на самом деле полезным. Синтаксис достаточно плох, чтобы заставить мои глаза кровоточить, но, по крайней мере, они будут кровоточить по веской причине, я надеюсь.

Я с нетерпением жду возможности рефлексии во время компиляции, C++ обладает необычайно сильными возможностями метапрограммирования среди системных языков, и это значительно укрепит их.
C++ не претендует на звание самого эстетически приятного языка программирования, но новый синтаксис, связанный с рефлексией, довольно уродлив даже по этим стандартам.
Как насчет тонкой оболочки C++? Язык с теми же функциями, но более удобный для человека. Он должен легко напрямую транслироваться на C++. Предпочтительно в обоих направлениях.

Семантика C++ также нарушена интересными способами: UB, неявные преобразования, массивы, исключения, исключения из деструкторов и т. д. Замалчивание их не поможет. Более эффективно просто проглотить пулю и перейти на Rust (или, может быть, Zig).

Ого. Это… определенно какой-то синтаксис. Напоминает мне Perl.
Этот синтаксис довольно странный даже по стандартам C++, и это, безусловно, худший способ сделать рефлексию, который я лично видел. Но я думаю, хорошо, что C++ наконец-то получает какую-то рефлексию. Опоздали всего на несколько десятилетий, но, эй, они в конце концов добрались.
На самом деле, по мере того, как C++ растет и развивается, я все больше и больше чувствую, что лучше использовать чистый C, чем возиться со всеми этими странными решениями, которые сделал C++. C++ все чаще оказывается просто неправильным выбором языка для всего, что я хочу сделать. Если мне нужно отражение во время компиляции, я использую программу C# для генерации кода C.
Сравнение с Perl, на мой взгляд, уместно. И Perl, и C++ были первыми в своей области, экспериментируя с концепциями, которые были странными в то время, пробуя множество подходов, которые мы сейчас считаем уродливыми, и служа примерами как успехов, так и неудач для гораздо лучших языков, которые появились после них. Разница в том, что Perl5 перестал развиваться некоторое время назад, в то время как C++ продолжает ту же тенденцию беззастенчиво.
(Еще одним примером такого языка является Scala.)
Вы считаете, что рефлексия — это что-то новое и модное, а C++ прокладывает ей путь?

> отражение во время компиляции
> использовать программу C# для генерации кода C
Кажется, что эти мнения противоречат друг другу.
Source: news.ycombinator.com