CppCon 2017: Arthur O'Dwyer “dynamic_cast From Scratch”
Вставка
- Опубліковано 18 жов 2024
- CppCon.org
-
Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/Cpp...
-
This session will introduce you to the C++ object model: the rules by which C++ class objects are translated into memory layouts. We'll quickly cover polymorphic class types and multiple and virtual inheritance. We'll discuss the anatomy of a virtual method call, the difference between `static_cast` and `reinterpret_cast`, and what's contained in a vtable besides function pointers. We'll see that the way `dynamic_cast` thinks about the class hierarchy is slightly different from the way we're used to drawing it; and that `dynamic_cast` is expensive enough that sometimes we can find cheaper ways to ask an object for its type! The climax will be a complete, bug-free, and fast implementation of C++'s built-in `dynamic_cast`, using our own hand-crafted artisanal run-time type information (RTTI).
Attendees will incidentally be exposed to several features of the modern C++ language, including type traits and the `final` qualifier.
This session will mostly be talking about the Itanium C++ ABI, which is the standard on Linux and OS X systems. Mapping these concepts to the MSVC ABI will be left as an exercise for the reader of the project's GitHub repo: github.com/Quu...
-
Arthur O'Dwyer: Core Engineering, Nominum
Arthur O'Dwyer worked for many years at Green Hills Software, making the world's most optimizing C and C++ compilers. Now he works at Nominum in San Francisco. Arthur is the showrunner of the Bay Area C++ meetup, which meets practically every week these days.
-
Videos Filmed & Edited by Bash Films: www.BashFilms.com
*-----*
Register Now For CppCon 2022: cppcon.org/reg...
*-----*
This may have been the first time this subject has felt like it finally clicked!
Great talk, Arthur O'Dwyer is an awesome speaker and gave great examples.
Amazing talk and an extra kudos to the CC team. I had it "on" for no reason, but the quality is outstanding! 24:43 surprised me with the [from V] - that's some good human attention of detail there!
Much appreciated!
Good explanation, well presented, great subtitles. Inheritance was a mistake.
What a great speaker! Haha truly entertaining and well explained talk, love that guy!
This was an awesome talk... perfect👌
This was an awesome talk 👌
Hey, Arthur -- great talk! But I am intrigued to know what was the ]noisy' talk next door about?
I'm just happy I've never asked mom to buy an animal
I'm only at 2 minutes and I'm already struggling. Not all animals have legs. Cats have one tail. Most animals don't speak English.
Nice work
Amazing talk, thanks :)
Explanation is not clear
сделайте русские субтитры бля