Загрузка страницы

Александр Ганюхин — Сериализация объектов с блэкджеком и метапрограммированием

Подробнее о конференции C++ Russia: https://jrg.su/W8skjE
— —
. . . Невозможно представить разработчика, который ни разу не сталкивался с задачей сериализации. В классическом представлении сериализация в языке C++ выглядит как «virtual string serialize() const = 0;» или генерируется автоматически через рефлексию. Однако и в том и в другом случае требуется доступ к базовому классу или к приватным полям класса. Но что, если они недоступны?

В этом докладе Александр опишет подход к полуавтоматической сериализации через геттеры при помощи метапрограммирования. В процессе мы «вскроем» сигнатуру геттера, применим мета-магию для его вызова, столкнемся с рекурсивными шаблонами (поймем, почему это плохо и как с этим бороться), а также узнаем в чем выигрыш подхода и какова его цена.

Видео Александр Ганюхин — Сериализация объектов с блэкджеком и метапрограммированием канала C++ User Group
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
14 февраля 2020 г. 13:59:52
00:42:30
Другие видео канала
Интервью с Максимом БабенкоИнтервью с Максимом БабенкоPure Virtual Cast / Максим Хижинский // 29.07.2021 #cpp​ #lockfreePure Virtual Cast / Максим Хижинский // 29.07.2021 #cpp​ #lockfreeГригорий Демченко | Distributed Portals Using CoroutinesГригорий Демченко | Distributed Portals Using CoroutinesПавел Новиков — Веселье с type erasureПавел Новиков — Веселье с type erasureОткрытие конференции C++ Russia 2023Открытие конференции C++ Russia 2023Jason McGuiness — A detailed performance analysis of a simple low-latency trading systemJason McGuiness — A detailed performance analysis of a simple low-latency trading systemМихаил Кашкаров — Аннотирование ELF-файлов compile-time информацией для последующего анализаМихаил Кашкаров — Аннотирование ELF-файлов compile-time информацией для последующего анализаИван Афанасьев | C++ performance testing tool. Анализ и практикаИван Афанасьев | C++ performance testing tool. Анализ и практикаАртем Хорошев — Ускоряем синтез: от TensorRT до CUDA C++Артем Хорошев — Ускоряем синтез: от TensorRT до CUDA C++Pure Virtual Cast / Александр Боргардт // 05.11.2020Pure Virtual Cast / Александр Боргардт // 05.11.2020Евгений Ерохин — Back Deep to Basics: Наследование и виртуальность в C++ (Часть 2)Евгений Ерохин — Back Deep to Basics: Наследование и виртуальность в C++ (Часть 2)Mateusz Pusz — Rethinking the way we do templates in C++Mateusz Pusz — Rethinking the way we do templates in C++Открытие конференцииОткрытие конференцииPhil Nash — Zen and the art of code lifecycle maintenancePhil Nash — Zen and the art of code lifecycle maintenanceC++ Russia 2017: Евгений Крутько, C++17: параллельная версия стандартных алгоритмовC++ Russia 2017: Евгений Крутько, C++17: параллельная версия стандартных алгоритмовAnders Schau Knatten — Just Enough Assembly for Compiler ExplorerAnders Schau Knatten — Just Enough Assembly for Compiler ExplorerPure Virtual Cast / Алексей Миловидов // 26.11.2020Pure Virtual Cast / Алексей Миловидов // 26.11.2020Павел Крюков — Взаимозаменяемые AoS- и SoA-контейнерыПавел Крюков — Взаимозаменяемые AoS- и SoA-контейнерыPure Virtual Cast // Кирилл Тихонов // 13.01.2022 #cpp #embeddedPure Virtual Cast // Кирилл Тихонов // 13.01.2022 #cpp #embeddedPure Virtual Cast / Игнат Ворошилов // 19.08.2021 #cpp​ #embeddedPure Virtual Cast / Игнат Ворошилов // 19.08.2021 #cpp​ #embeddedPure Virtual Cast // nullptr // 21.10.2021 #cpp #cpprussiaPure Virtual Cast // nullptr // 21.10.2021 #cpp #cpprussia
Яндекс.Метрика