Методы самоанализа C ++, похожие на python

Существуют ли в C ++ методы самоанализа, подобные тем, которые есть в python?

Например: я хочу получить больше информации о конкретном объекте, не просматривая файл заголовка и не обращаясь к ссылке на cpp.

Я задаю правильный вопрос или двигаюсь в неправильном направлении?

Обновить:

Основываясь на ответах ниже, этот ответ связан с моим вопросом: Как добавить отражение в приложение C ++?

3

Решение

C ++ имеет встроенную систему RTTI, хотя по большей части она бесполезна. В результате вместо этого используется пользовательский самоанализ.

Самоанализ в C ++ реализуется двумя основными методами: на этапе предварительной обработки, когда вы сканируете файлы cpp и создаете базу данных / генерируете код CPP; использовать шаблоны. Я написал несколько статей о технике шаблонов Вот.

Если вас больше интересует только самоанализ, а не его реализация, я предлагаю поискать clReflect, или вы можете попробовать cpfg.

0

Другие решения

Python и C ++ — радикально разные языки. Обычно,
почти вся информация о типах теряется после того, как вы закончили
компилирование. Все, что вы можете сделать, это спросить, является ли объект
определенный класс (используя typeid) или, если это экземпляр
определенный класс (используя dynamic_cast). В теории вы можете
также получить имя типа, используя typeid::name(), но в
практика, стандарт не налагает ничего полезного для
возвращаемое значение, и некоторые компиляторы (например, g ++) не дают вам
ничего полезного.

3

По вопросам рекламы [email protected]