#c #reflection #metaprogramming #c 20 #c -standard-library
Вопрос:
Я начал читать об отражении в C 20 и совсем запутался. Каково его текущее состояние, т. е. сколько мы можем использовать на данный момент?
Я нашел отражение TS — но даже примеры на этом веб-сайте не компилируются (на GCC11 с C 20), потому что компилятор не может найти «#include <экспериментальный/отражение>»… Значит, это не совсем в GCC?
Итак, мой вопрос: можем ли мы использовать что-либо из отражения сейчас, не дожидаясь C 23? Под «чем-нибудь» я подразумеваю, например, запрос компилятора для получения списка членов класса, имен перечислений и т. Д.? И под «использованием» я подразумеваю использование в производственном коде, а не просто для игры.
Комментарии:
1. Документация GCC предполагает, что у них нет поддержки для TS отражения. Если поискать в Интернете, то не похоже, что у MSVC или Clang еще есть реализации. Я полагаю, держите ухо востро в отношении C 23.
2. Нет, в C нет отражения (пока?) Из всех функций, которых нам не хватает в C , это та, которой мне лично не хватало дольше всего.
3. А. Размышления на размышления. Если бы это было больше мета, мы бы публиковали на мета.
4. @user4581301 Определитесь, следует ли нам обсуждать это на meta, пожалуйста, откройте сообщение на meta meta.