Популярное

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

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

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

Топ запросов

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

Two Ways To Do Dynamic Dispatch

Автор: Logan Smith

Загружено: 2023-09-28

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

Описание:

Rust and C++ both have built-in (but different-flavored) support for dynamic dispatch, and both also let you open the hood and implement it the other way that's not built-in. In this one we look at both languages' approaches, weigh the pros and cons, and ultimately come away seeing that they're both the right choice in different situations (isn't that just so unsatisfying and typical).

Special guest appearances from vtables, vptrs, wide pointers, thunks, unsafe code, drop glue, virtual destructors, the Rule of Three, and me re-recording the live coding section like 5 times because I kept messing it up.

the Sean Parent talk -    • Better Code: Runtime Polymorphism - Sean P...  
godbolt to the demo - https://rust.godbolt.org/z/6YrK3vhGj

dyno - https://github.com/ldionne/dyno
NonNull - https://doc.rust-lang.org/stable/std/...
thunk - https://en.wikipedia.org/wiki/Thunk
std::function - https://en.cppreference.com/w/cpp/uti...
std::any - https://en.cppreference.com/w/cpp/uti...

I use the amazing Manim library for animating these videos, and I edit them with Blender and Audacity.
https://www.manim.community/
https://www.blender.org/
https://www.audacityteam.org/

Two Ways To Do Dynamic Dispatch

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

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

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

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

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

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

array(10) { [0]=> object(stdClass)#4869 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "KWB-gDVuy_I" ["related_video_title"]=> string(23) "Constructors Are Broken" ["posted_time"]=> string(19) "1 год назад" ["channelName"]=> string(11) "Logan Smith" } [1]=> object(stdClass)#4842 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "SqT5YglW3qU" ["related_video_title"]=> string(38) "Rust Functions Are Weird (But Be Glad)" ["posted_time"]=> string(19) "1 год назад" ["channelName"]=> string(11) "Logan Smith" } [2]=> object(stdClass)#4867 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "gRAVZv7V91Q" ["related_video_title"]=> string(24) "but what is 'a lifetime?" ["posted_time"]=> string(19) "1 год назад" ["channelName"]=> string(6) "leddoo" } [3]=> object(stdClass)#4874 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "l9eFGToyjf8" ["related_video_title"]=> string(35) "Zig is better than Rust (sometimes)" ["posted_time"]=> string(25) "3 недели назад" ["channelName"]=> string(10) "codingjerk" } [4]=> object(stdClass)#4853 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "algDLvbl1YY" ["related_video_title"]=> string(27) "The Dark Side of .reserve()" ["posted_time"]=> string(19) "1 год назад" ["channelName"]=> string(11) "Logan Smith" } [5]=> object(stdClass)#4871 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "WjKQQAFwrR4" ["related_video_title"]=> string(95) "How Much Memory for 1,000,000 Threads in 7 Languages | Go, Rust, C#, Elixir, Java, Node, Python" ["posted_time"]=> string(21) "2 года назад" ["channelName"]=> string(12) "ThePrimeTime" } [6]=> object(stdClass)#4866 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "OMmMfGaeRyI" ["related_video_title"]=> string(34) "Arc instead of Vec? | Prime Reacts" ["posted_time"]=> string(19) "1 год назад" ["channelName"]=> string(12) "ThePrimeTime" } [7]=> object(stdClass)#4876 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "FBpgdSjJ6nQ" ["related_video_title"]=> string(27) "Immediate JSON Parsing in C" ["posted_time"]=> string(24) "18 часов назад" ["channelName"]=> string(13) "Tsoding Daily" } [8]=> object(stdClass)#4852 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "A4cKi7PTJSs" ["related_video_title"]=> string(22) "Use Arc Instead of Vec" ["posted_time"]=> string(21) "2 года назад" ["channelName"]=> string(11) "Logan Smith" } [9]=> object(stdClass)#4870 (5) { ["video_id"]=> int(9999999) ["related_video_id"]=> string(11) "s5S2Ed5T-dc" ["related_video_title"]=> string(28) "A Simpler Way to See Results" ["posted_time"]=> string(19) "1 год назад" ["channelName"]=> string(11) "Logan Smith" } }
Constructors Are Broken

Constructors Are Broken

Rust Functions Are Weird (But Be Glad)

Rust Functions Are Weird (But Be Glad)

but what is 'a lifetime?

but what is 'a lifetime?

Zig is better than Rust (sometimes)

Zig is better than Rust (sometimes)

The Dark Side of .reserve()

The Dark Side of .reserve()

How Much Memory for 1,000,000 Threads in 7 Languages | Go, Rust, C#, Elixir, Java, Node, Python

How Much Memory for 1,000,000 Threads in 7 Languages | Go, Rust, C#, Elixir, Java, Node, Python

Arc instead of Vec? | Prime Reacts

Arc instead of Vec? | Prime Reacts

Immediate JSON Parsing in C

Immediate JSON Parsing in C

Use Arc Instead of Vec

Use Arc Instead of Vec

A Simpler Way to See Results

A Simpler Way to See Results

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



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



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