Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

C++ Type Erasure Demystified - Fedor G Pikus - C++Now 2024

Автор: CppNow

Загружено: 2024-07-22

Просмотров: 12820

Описание:

https://www.cppnow.org
---

C++ Type Erasure Demystified - Fedor G Pikus - C++Now 2024
---

This talk is about type erasure in C++ (I have to be specific because the term has a completely different meaning in other languages). The aim of this talk is to explain how type erasure works, and do it in a very simple and clear way.
Type erasure is probably the closest C++ comes to “and then magic happens.” It’s a technique used to write a program (in a strictly typed language, no less) that doesn’t mention the types it works with. It is the pinnacle of abstraction in C++, and, like most abstractions, it’s much easier to show what that looks like than to define it: most concise definitions of type erasure are circular. So we will begin the talk by demonstrating what the code looks like after the magic happens.
Then comes the biggest letdown of all time: I’ll show the basic technique that type erasure relies on. It’s very simple, it’s very familiar, it predates C++, and every implementation of type erasure uses it.
After that, we learn three basic ways to implement type erasure. There are several great type erasure libraries out there, you should use them if you just want to get stuff done. I’m going to strip them down to the bare minimum to show the essence of each implementation as clearly as possible. Along the way, we will learn how vtables are implemented.
Finally, we will measure and compare the performance of the different implementations of type erasure. Type erasure is easy to implement; fast type erasure is not really any harder to implement, but it relies on some subtle details I’m going to demonstrate (including how to make std::function 50% faster).
Whether you want to write your own implementation or use an existing library, by the end of this talk the type erasure will no longer be shrouded in a mystic aura for you.
---

Slides: https://github.com/boostcon/cppnow_pr...

---

Fedor Pikus

Fedor G Pikus is a Technical Fellow and head of the Advanced Projects Team in Siemens Digital Industries Software. His responsibilities include planning the long-term technical direction of Calibre products, directing and training the engineers who work on these products, design, and architecture of the software, and researching new design and software technologies.
His earlier positions included a Chief Scientist at Mentor Graphics (acquired by Siemens Software), a Senior Software Engineer at Google, and a Chief Software Architect for Calibre PERC, LVS, and DFM at Mentor Graphics. He joined Mentor Graphics in 1998 when he made a switch from academic research in computational physics to the software industry.
Fedor is a recognized expert in high-performance computing and C++. He is the author of two books on C++ and software design, has presented his works at CPPNow, CPPCon, SD West, DesignCon, and in software development journals, and is also an O'Reilly author. Fedor has over 30 patents and over 100 papers and conference presentations on physics, EDA, software design, and C++ language.

---

C++Now 2025 - 28th April - 2nd May
C++Now is an annual onsite international C++ programming and coding conference held in Aspen, Colarado. For all C++ developers, C++ software engineers and those involved with the C++ language, CppNow provides an indepth and technical content provided by the best and brightest C++ experts of the C++ world.
Annual CppNow Conference - https://www.cppnow.org
  / cppnow  
  / cppnow  
  / cppnow  
  / cppnow  
https://mastodon.social/@cppnow
Video Sponsors: millennium and think-cell
---

Videos Filmed & Edited By Bash Films: https://bashfilms.com/
YouTube Channel Managed & Optimized By Digital Medium Ltd: https://events.digital-medium.co.uk
---

#boost #cpp #cppprogramming #cppnow #softwaredevelopment

C++ Type Erasure Demystified - Fedor G Pikus - C++Now 2024

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

Value Oriented Programming Part V - Return of the Values - Tony Van Eerd - C++Now 2024

Value Oriented Programming Part V - Return of the Values - Tony Van Eerd - C++Now 2024

Unlocking Modern CPU Power - Next-Gen C++ Optimization Techniques - Fedor G Pikus - C++Now 2024

Unlocking Modern CPU Power - Next-Gen C++ Optimization Techniques - Fedor G Pikus - C++Now 2024

Auto Claude - AI Coding on steroids

Auto Claude - AI Coding on steroids

A Deep Dive Into C++ Object Lifetimes - Jonathan Müller - C++Now 2024

A Deep Dive Into C++ Object Lifetimes - Jonathan Müller - C++Now 2024

Breaking Dependencies - C++ Type Erasure - The Implementation Details - Klaus Iglberger  CppCon 2022

Breaking Dependencies - C++ Type Erasure - The Implementation Details - Klaus Iglberger CppCon 2022

C++ Weekly - Ep 343 - Digging Into Type Erasure

C++ Weekly - Ep 343 - Digging Into Type Erasure

C++11 to C++23 in the C++ Memory Model - Alex Dathskovsky - C++Now 2024

C++11 to C++23 in the C++ Memory Model - Alex Dathskovsky - C++Now 2024

Branchless Programming in C++ - Fedor Pikus - CppCon 2021

Branchless Programming in C++ - Fedor Pikus - CppCon 2021

There is no silver bullet - Klaus Iglberger - Meeting C++ 2024

There is no silver bullet - Klaus Iglberger - Meeting C++ 2024

C++ Coroutines at Scale - Implementation Choices at Google - Aaron Jacobs - C++Now 2024

C++ Coroutines at Scale - Implementation Choices at Google - Aaron Jacobs - C++Now 2024

Understanding The constexpr 2-Step - Jason Turner - C++ on Sea 2024

Understanding The constexpr 2-Step - Jason Turner - C++ on Sea 2024

C++ Under the Hood: Internal Class Mechanisms - Chris Ryan - CppCon 2024

C++ Under the Hood: Internal Class Mechanisms - Chris Ryan - CppCon 2024

Functional Programming in Modern C++: The Imperatives Must Go! - Victor Ciura - ACCU 2023

Functional Programming in Modern C++: The Imperatives Must Go! - Victor Ciura - ACCU 2023

Путин и подсвинки, Кто идет в ПАСЕ, Roblox готов сотрудничать. Белковский, Климарев, Гончаренко

Путин и подсвинки, Кто идет в ПАСЕ, Roblox готов сотрудничать. Белковский, Климарев, Гончаренко

Implementing Ranges and Views in C++ - Roi Barkan - C++Now 2024

Implementing Ranges and Views in C++ - Roi Barkan - C++Now 2024

CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced.  What do they really do?”

CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced. What do they really do?”

Breaking Dependencies: Type Erasure - A Design Analysis - Klaus Iglberger -  CppCon 2021

Breaking Dependencies: Type Erasure - A Design Analysis - Klaus Iglberger - CppCon 2021

Concurrency in C++: A Programmer’s Overview (part 1 of 2) - Fedor Pikus - CppNow 2022

Concurrency in C++: A Programmer’s Overview (part 1 of 2) - Fedor Pikus - CppNow 2022

C++ Reflection - Back on Track - David Olsen - C++Now 2024

C++ Reflection - Back on Track - David Olsen - C++Now 2024

Breaking Dependencies: The Path to High-Quality Software - Klaus Iglberger - Meeting C++ 2022

Breaking Dependencies: The Path to High-Quality Software - Klaus Iglberger - Meeting C++ 2022

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]