Александр Ганюхин — Сериализация объектов с блэкджеком и метапрограммированием
C++ Russia — Конференция по разработке на Cpp
0:00 / 0:00
Александр Ганюхин — Сериализация объектов с блэкджеком и метапрограммированием
2 563 просмотра · 6 лет назад
C++ Russia — Конференция по разработке на Cpp
16,8 тыс. подписчиков
2 563 просмотра · 6 лет назад
Подробнее о конференции C++ Russia: https://jrg.su/9Sszhd
— —
. . . Невозможно представить разработчика, который ни разу не сталкивался с задачей сериализации. В классическом представлении сериализация в языке C++ выглядит как «virtual string serialize() const = 0;» или генерируется автоматически через рефлексию. Однако и в том и в другом случае требуется доступ к базовому классу или к приватным полям класса. Но что, если они недоступны?
В этом докладе Александр опишет подход к полуавтоматической сериализации через геттеры при помощи метапрограммирования. В процессе мы «вскроем» сигнатуру геттера, применим мета-магию для его вызова, столкнемся с рекурсивными шаблонами (поймем, почему это плохо и как с этим бороться), а также узнаем в чем выигрыш подхода и какова его цена.