From C++ Templates to C++ Concepts - Metaprogramming: an Amazing Journey - Alex Dathskovsky
48K views · Dec 16, 2022 · Science & Technology
Comments · 54
@malborboss · 2 years ago
Concepts are really amazing. I tried to watch some talks with how metaprogramming worked before concepts and I had to pause a video every 30 seconds. With concepts I didn't even have to pause once. Amazing talk. Thank you so much and to the ones that made concepts possible.
9
@williammou8672 · 3 years ago (edited)
Some abstracts:<br><br>Metaprogramming aims to accomplish a little more in Compile time. One of the solutions for C++ is template and its friends (because template is Turing-complete)..<br><br>The speaker starts with the problem of function template overloading and function template specialization. How to help the compiler determine and choose the suitable template by type becomes the concern of metaprogramming.<br><br>Taking is_container at compile time as an example, he goes from trait, enable-If_t (C++11) + SFINAE + void_t to concepts (C++20) to solve this problem in different ways.<br><br>The final conclusion is that concepts and its library <concepts> are great, and we recommend you use this to check the template type.
43
@nrwchd · 3 years ago
So you were saying that my very wide monitor is now no longer needed when debugging c++ compiler messages?
19
@liveonphoenix5045 · 2 years ago
@<a href="https://www.youtube.com/watch?v=_doRiQS4GS8&t=2698">44:58</a><br><br>Machine: "It is 83.6% readable"<br>Me: "..."
3
@SebestyénBéla · 3 years ago
He is so happy about these new features! I love it :)
8
@BuffPomsky · 1 year ago (edited)
What a clear explanation! Much easier
2
@cristianinujazznight3044 · 3 years ago
Thank you so much, I never used templates/concepts and now looks awesome to check :D
9
@claudiorio · 9 months ago
Great presentation!
@mark1980100 · 2 years ago
Great presentation
1
@GoncaloLoyal · 3 years ago
Great presentation! Loved it!
2
@sergeysosnin7594 · 2 years ago
Thanks for the video, it’s very interesting and easy to follow
@marcobonizzi3628 · 3 years ago
Nice presentation, thanks Alex!
1
Up next

Template Metaprogramming: Type Traits (part 2 of 2) - Jody Hagins - CppCon 2020
CppCon · 24K views

Back to Basics: Master C++ Value Categories With Standard Tools - Inbal Levi - CppCon 2022
CppCon · 13K views

Kent Beck: Software Engineering in the Age of AI | Prodacity 2026
Rise8 · 28K views

Did AI Solve One of Math’s Hardest Problems?
StarTalk · 419K views

The Most Important Optimizations to Apply in Your C++ Programs - Jan Bielak - CppCon 2022
CppCon · 76K views

50 Laravel Tips - Liam Hammett - Laravel Live Denmark 2026
Laravel Live Denmark and Liam Hammett · 326 views

Template Metaprogramming: Type Traits (part 1 of 2) - Jody Hagins - CppCon 2020
CppCon · 74K views

C++ in Constrained Environments - Bjarne Stroustrup - CppCon 2022
CppCon · 71K views

Rust Traits vs C++ Concepts
Rust and Cpp Cardiff Meetup · 4.3K views

Deciphering C++ Coroutines - A Diagrammatic Coroutine Cheat Sheet - Andreas Weis - CppCon 2022
CppCon · 29K views

CppCon 2014: Walter E. Brown "Modern Template Metaprogramming: A Compendium, Part II"
CppCon · 45K views

Back to Basics: C++ API Design - Jason Turner - CppCon 2022
CppCon · 113K views

C++Now 2018: Michael Caisse “Modern C++ in Embedded Systems”
CppNow · 52K views

The Architecture Patterns Every AI Agent Needs | Tomasz Ducin
AI Poland Conference · 30 views

Linux: 35 years in 35 facts in 35 minutes
Jono Bacon · 372K views

ASP.NET Core Full Course For Beginners (.NET 10)
Julio Casal · 336K views

Using Concepts: C++ Design in a Concept World (part 2 of 2) - Jeff Garland - [CppNow 2021]
CppNow · 2.4K views

Branchless Programming in C++ - Fedor Pikus - CppCon 2021
CppCon · 198K views

Back to Basics: Templates in C++ - Nicolai Josuttis - CppCon 2022
CppCon · 99K views

Blueprints vs. C++: How They Fit Together and Why You Should Use Both
Alex Forsythe · 484K views

Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025
Better Software Conference · 903K views

Using Concepts: C++ Design in a Concept World (part 1 of 2) - Jeff Garland - [CppNow 2021]
CppNow · 7.7K views

Bill Gates: A.I. ‘Makes Nuclear Weapons Look Like Nothing’ | The Ezra Klein Show
The Ezra Klein Show and 2 more · 811K views

Templates in C++
The Cherno · 689K views

Back to Basics: Iterators in C++ - Nicolai Josuttis - CppCon 2023
CppCon · 52K views

10 Tips for Cleaner C++ 20 Code - David Sackstein - CppCon 2022
CppCon · 33K views