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
Подробности и билеты: 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
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
![Иван Афанасьев — Loop unrolling в деталях](https://i.ytimg.com/vi/Tst3MbTrYzk/default.jpg)
![Интервью с Максимом Бабенко](https://i.ytimg.com/vi/wzw4uddPitM/default.jpg)
![Pure Virtual Cast / Максим Хижинский // 29.07.2021 #cpp #lockfree](https://i.ytimg.com/vi/xZS1PMJ2Di0/default.jpg)
![Григорий Демченко | Distributed Portals Using Coroutines](https://i.ytimg.com/vi/zacEt5ZCVgI/default.jpg)
![Павел Новиков — Веселье с type erasure](https://i.ytimg.com/vi/u4_JAn83FJQ/default.jpg)
![Jason McGuiness — A detailed performance analysis of a simple low-latency trading system](https://i.ytimg.com/vi/z0SpyIkvqlU/default.jpg)
![Михаил Кашкаров — Аннотирование ELF-файлов compile-time информацией для последующего анализа](https://i.ytimg.com/vi/7Ww_vH9y_Mc/default.jpg)
![Pure Virtual Cast / Александр Боргардт // 05.11.2020](https://i.ytimg.com/vi/lHnwe5m3wuA/default.jpg)
![Mateusz Pusz — Rethinking the way we do templates in C++](https://i.ytimg.com/vi/wW8Smv-Z5zQ/default.jpg)
![Открытие конференции](https://i.ytimg.com/vi/ne75sTJx61Q/default.jpg)
![Phil Nash — Zen and the art of code lifecycle maintenance](https://i.ytimg.com/vi/wiDth6k3vp0/default.jpg)
![Anders Schau Knatten — Just Enough Assembly for Compiler Explorer](https://i.ytimg.com/vi/T7x0v9xbRRQ/default.jpg)
![Павел Крюков — Взаимозаменяемые AoS- и SoA-контейнеры](https://i.ytimg.com/vi/ODUROJh3abU/default.jpg)
![Pure Virtual Cast // Кирилл Тихонов // 13.01.2022 #cpp #embedded](https://i.ytimg.com/vi/Ta5KfySF6gk/default.jpg)
![Pure Virtual Cast / Игнат Ворошилов // 19.08.2021 #cpp #embedded](https://i.ytimg.com/vi/W8zQ97_hLpo/default.jpg)
![Pure Virtual Cast // nullptr // 21.10.2021 #cpp #cpprussia](https://i.ytimg.com/vi/bz3Q7k1an9w/default.jpg)
![Pure Virtual Cast / Егор Суворов // 27.05.2021 #cpp](https://i.ytimg.com/vi/eeLL7a_NCDc/default.jpg)
![Sebastian Theophil — Windows, macOS and the Web](https://i.ytimg.com/vi/og1lE-3Vcnc/default.jpg)
![Петр Советов — Аппаратная компиляция: синтез специализированных ускорителей](https://i.ytimg.com/vi/Q6-h6R_e-04/default.jpg)
![Greg Law, Mark Williamson — Getting the most out of GDB](https://i.ytimg.com/vi/HH_kDjN-7yI/default.jpg)
![Anthony Williams — Concurrency in C++20 and beyond](https://i.ytimg.com/vi/GU1WYpahFgA/default.jpg)