Skip to content

Chandler Carruth & Timur Doumler

Photo of Hana Dusรญkovรก
Hosted By
Hana D.
Chandler Carruth & Timur Doumler

Details

โ–ช๏ธ๐—ง๐—ถ๐—บ๐˜‚๐—ฟ ๐——๐—ผ๐˜‚๐—บ๐—น๐—ฒ๐—ฟ Type punning in modern C++

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.

โ–ช๏ธ๐—–๐—ต๐—ฎ๐—ป๐—ฑ๐—น๐—ฒ๐—ฟ ๐—–๐—ฎ๐—ฟ๐—ฟ๐˜‚๐˜๐—ต Programming Language Design for Performance Critical Software

Recently, several of us at Google have been working to crystalize our priorities for the design of the C++ programming language. What should it prioritize? What is less important? Programming languages are tools, and different tools are optimized for solving different problems. What kinds of problems is C++ "best" at solving?

The top priority for us and many others: performance critical software.
This talk will provide background and detail on what we mean by the term "performance critical software" as well as it being the top priority for C++. It will then dive into some interesting examples of ways in which this priority impacts programming language design. These will range from large scale features to small details, and will include both ways in which C++ is successful and ways it continues to struggle.

โ–ช๏ธThis time no pub afterward, sorry.

Photo of Prague C++ group
Prague C++
See more events
Avast Software
Enterprise Office Center, Pikrtova 1737/1A ยท Prague 4