V
主页
C++ Type Erasure Demystified - Fedor G Pikus - C++Now 2024
发布人
https://www.youtube.com/watch?v=p-qaf6OS_f4 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. --- 幻灯片:https://github.com/boostcon/cppnow_presentations_2024/blob/main/Presentations/Cpp_Type_Erasure_Demystified.pdf
打开封面
下载高清视频
观看高清视频
视频下载器
Implementing Ranges and Views in C++ - Roi Barkan - C++Now 2024
C++ Reflection - Back on Track - David Olsen - C++Now 2024
Morgan Wallen - Spin You Around (1/24) (Lyric Video)
A Deep Dive Into C++ Object Lifetimes - Jonathan Müller - C++Now 2024
Extreme SIMD: Optimized Collision Detection in 'Titanfall'
C与C++的区别究竟是什么?
Reflection Is Good for C++ Code Health - Saksham Sharma - C++Now 2024
Reducing C++ Compilation Times Through Good Design - Andrew Pearcy - ACCU 2024
【雪豹引擎SnowLeopardEngine】利兹大学2023/2024高性能图形与游戏工程专业小组游戏引擎作业
C++11 to C++23 in the C++ Memory Model - Alex Dathskovsky - C++Now 2024
Dependency Injection in C++ - A Practical Guide - Peter Muldoon - C++Now 2024
Unlocking Modern CPU Power - Next-Gen C++ Optimization Techniques
UE5 AI行为树 游戏NPC 自主寻找最佳掩体 算法 红蓝对抗 兵棋推演仿真 班组作战 单体Agent 环境感知 二次开发 导航网格 Demo
C++ Coroutines and Structured Concurrency in Practice - Dmitry Prokoptsev
Vallis Alps - You & I (Official Visualiser)
质疑DHwass的编程水平
Start Again (Official Visualiser) - Vallis Alps
Vallis Alps - On Highways (aug 4) (Official Audio)
Fast Conversion From Cpp Floating Point Numbers - Cassio Neri - C++Now 2024
Vallis Alps - For Once (Official Audio)
FOSDEM'22 - PlayStation 3 Emulation
Qt 上班摸鱼写点好玩的
Advanced Graphics Summit: 'Cyberpunk 2077': Bringing Light to Night City
WebGL + WebGPU Meetup - July 2024
(C++) 为什么auto_ptr被弃用
GDC 2023: A Visual Guide to Quaternions and Dual Quaternions
Can HLOD save your game? (Presented by Simplygon, Microsoft)
Morgan Wallen - Last Drive Down Main
Functional C++ - Gašper Ažman - C++Now 2024
Trent Billington - Bevy ECS - Power tool for data oriented applications
请选择你的C++IDE
clang++ : 不关我事~
Why is PS3 emulation so fast: RPCS3 optimizations explained
I3D 2024 Papers Session 4 - Points and Splats
Qt上班摸鱼写的油污粒子特效
3D Toon Rendering in 'Hi-Fi RUSH'
Keynote: C++ Painkillers for C++ Developers - The Evolution of C++ Tooling
Introduction to WebGPU - CIS 565 GPU Programming Fall 2022
GDC 2024 - GPU Work Graphs: Welcome to the Future of GPU Programming
GigaVoxels Dynamic Parallelism