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

Timur Doumler — Type punning in modern C++

Ближайшая конференция: С++ Russia 2024, 24 мая (online), 2–3 июня (offline, Москва)
Подробности и билеты: https://jrg.su/W8skjE
— —
. . . Type punning is often used in C++ for fast floating-point math, deserialising C++ objects from a sequence of bytes, and other purposes. Popular techniques involve unions, reinterpret_cast, and memcpy. C++20 provides new useful tools, such as bit_cast. And there are proposals to provide even better control over C++ object creation in the future.

This talk is a comprehensive overview of all of these techniques. We will discuss when and how they can be used safely without causing undefined behaviour, what C++ does and does not allow you to do (and why), existing holes in the C++ language, and how to fix them. In the process, we will cover important C++ concepts such as object lifetime, value representations, and aliasing rules.

Видео Timur Doumler — Type punning in modern C++ канала C++ User Group
Показать
Комментарии отсутствуют
Введите заголовок:

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

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

Зарегистрируйтесь или войдите с
Информация о видео
14 февраля 2020 г. 14:37:42
00:58:56
Другие видео канала
Иван Афанасьев — Loop unrolling в деталяхИван Афанасьев — Loop unrolling в деталяхИнтервью с Максимом БабенкоИнтервью с Максимом Бабенко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 erasureJason 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 информацией для последующего анализаPure Virtual Cast / Александр Боргардт // 05.11.2020Pure Virtual Cast / Александр Боргардт // 05.11.2020Mateusz 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 maintenanceAnders Schau Knatten — Just Enough Assembly for Compiler ExplorerAnders Schau Knatten — Just Enough Assembly for Compiler ExplorerПавел Крюков — Взаимозаменяемые 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 #cpprussiaPure Virtual Cast / Егор Суворов // 27.05.2021 #cpp​​​Pure Virtual Cast / Егор Суворов // 27.05.2021 #cpp​​​Sebastian Theophil — Windows, macOS and the WebSebastian Theophil — Windows, macOS and the WebПетр Советов — Аппаратная компиляция: синтез специализированных ускорителейПетр Советов — Аппаратная компиляция: синтез специализированных ускорителейGreg Law, Mark Williamson — Getting the most out of GDBGreg Law, Mark Williamson — Getting the most out of GDBAnthony Williams — Concurrency in C++20 and beyondAnthony Williams — Concurrency in C++20 and beyond
Яндекс.Метрика