Pull to refresh

Comments 4

Шикарная статья, просто исчерпывающе описывает рефлексию в UE. Жалко только что вы ее написали только сейчас, месяца два назад она бы мне очень пригодилось, когда пришось изучать это самому с нуля что бы сделать интерпретатор выражений для

data-driven системы, где поведение задаётся в таблицах или конфигах.

Даже баг в своем коде поправил благодаря примерам из вашей статьи, спасибо за статью!

Приятно слышать, что моя работа пригодилась!

Был ли разбор от разрабов UE, можно ли полноценно заменить их рефлексию рефлексией из с++26?

Compile time рефлексия С++26 не имеет ничего общего с рантайм рефлексией UE.

Первая нужна для генерации кода во время компиляции и обход полей класса "по порядку" не зная ничего о самом классе. Вторая для создания объектов "на лету" по их строковому описанию.

С++26 рефлексия полезна для замены сишных макросов и всякой ерунды, вроде обобщенного кода для сериализации/десериализации.

Абсолютно бессмысленно в рантайме, ведь после компиляции сгенерированные типы точно также ничего о себе не знают в рантайме.

Sign up to leave a comment.

Articles