Back to Basics: Templates in C++ - Nicolai Josuttis - CppCon 2022

  Рет қаралды 64,830

CppCon

CppCon

Күн бұрын

Пікірлер: 46
@thestarinthesky_
@thestarinthesky_ 13 күн бұрын
Thanks CppCon for uploading videos here. so much appreciate it. Couldn't be more proud of this great community.
@moderncpp
@moderncpp 2 жыл бұрын
Great talk. I believe that understanding templates reveals most of the C++ programming language.
@parthapratimmukherjee
@parthapratimmukherjee 8 ай бұрын
Its amazing how Nico can make extremely complex topics approachable. I bought all his books!
@thestarinthesky_
@thestarinthesky_ 13 күн бұрын
You're brilliant! I LOVE your amazing books and you're my role model. Thanks for contributing to the world of C++
@superscatboy
@superscatboy 2 жыл бұрын
Nico is a great speaker, I've been looking forward to this one!
@wigglyk2796
@wigglyk2796 2 жыл бұрын
Wow the master himself. His book on templates is excellent. Thanks for this video.
@CppCon
@CppCon 2 жыл бұрын
Glad to hear that you enjoyed this presentation!
@deadbird99
@deadbird99 Жыл бұрын
Hands down the best templates course I've ever had. Thanks!!
@OptimusVlad
@OptimusVlad 2 жыл бұрын
Wow, this is trippy. Didn't know this was a thing: if constexpr (requires {coll.push_back(val);})
@prafulsrivastava7684
@prafulsrivastava7684 2 жыл бұрын
This is exactly what I was looking for! Great talk!
@the_real_foamidable
@the_real_foamidable 2 жыл бұрын
Very cool talk. Always good to recapitulate the basics - there are to many things we use without understanding the underlying tech and history. BTW: Where can I get this awesome T-Shirt?
@MyLucjusz
@MyLucjusz Жыл бұрын
That's a pure pleasure to listen to the prelection like this. Thank you!
@stevea.b.9282
@stevea.b.9282 4 ай бұрын
Fantastic talk, thank you, I'm just starting to learn templates and this helped immensely, many thanks.
@brandonz6121
@brandonz6121 2 жыл бұрын
A truly insightful talk!
@dark808bb8
@dark808bb8 Жыл бұрын
We need an "if compiles{" expression that takes the first branch if the code in that branch compiles 😅
@chudchadanstud
@chudchadanstud 10 ай бұрын
The much needed. We need better metaprogramming.
@sky_is_the_limit_13
@sky_is_the_limit_13 3 ай бұрын
Great talks! I love your books! You're absolutely amazing. BTW, I am looking for "Back to Basics 2022" playlist but couldn't find it.
@richardvonlehe4581
@richardvonlehe4581 2 жыл бұрын
Well done! Engaging throughout.
@Tony-tu8uz
@Tony-tu8uz 2 жыл бұрын
Very good! Thank you for the talk!
@flocela
@flocela Жыл бұрын
thank you. even better the second time around! : )
@xFabi99
@xFabi99 2 жыл бұрын
Templates are pretty awesome now, as is this talk ;)
@xudongsun
@xudongsun 2 жыл бұрын
love his tshirt. where can I get one?
@MalcolmParsons
@MalcolmParsons Жыл бұрын
35:46 std::complex is only specified for float, double and long double, not for int.
@yowadup1000
@yowadup1000 2 жыл бұрын
Looks pretty exciting!
@NickEnchev
@NickEnchev 2 жыл бұрын
Excellent talk, thank you.
@paulselormey7862
@paulselormey7862 2 жыл бұрын
Josuttis, thank you.
@mahdies56
@mahdies56 Жыл бұрын
Great talk
@viacheslav1392
@viacheslav1392 Жыл бұрын
Great talk man!
@ssmondal007
@ssmondal007 Жыл бұрын
Super Sir, impressed :)
@bareminimum-mrtz
@bareminimum-mrtz 3 ай бұрын
Thankyou so much !!
@sanjaygatne1424
@sanjaygatne1424 2 жыл бұрын
nice talk. i had one query on slide no.31, why recursive call to "if" statement when you know number of var args. why not "range for".
@thepiratepeter4630
@thepiratepeter4630 2 жыл бұрын
You can't iterate on an argument pack like you would do with a container, because the types of the various elements could be different.
@thepiratepeter4630
@thepiratepeter4630 2 жыл бұрын
In his specific example you could avoid recursion using a fold expression.
@atib1980
@atib1980 2 жыл бұрын
There isn't a foreach construct in C++ that would allow you to loop through a range of data of different data types at runtime. C++ foreach works on only those data types that have implemented the basic input iterator related operators defined by the requirements of input iterators (begin(), end() operator++() and operator*). In the example on slide 31 you just want to print every fn argument on a separate line (where fn argument is of a certain type for which ostream& operator
@Jam18123
@Jam18123 Жыл бұрын
Very useful
@ZackDia-Ptr
@ZackDia-Ptr Жыл бұрын
Good stuff...
@djupstaten2328
@djupstaten2328 Жыл бұрын
This is why a TypeEval function is screaming to be created. I am 100% certain the std::people can create a better one than I can. Typeid() doesn't actually consider a tuple of string/int/string the same type as a tuple of variant/variant/map as the same types so there is no secure way to funnel them into whatever place or process they need to be. A bool function is totally fine as long as it is general (i.e. one container type instance should match with another, and with its type-name, regardless of their particular flavor of chaos inside). Knowing everything at compile time is neither realistic nor creatively workable. "Strongly typed" needs to not just be a begrudging neurosis or a religious mantra but also lead to supplying the proper tools for the coder to secure this strength on his or her end.
@gnerkus
@gnerkus 2 жыл бұрын
Interesting talk, though not as 'basic' as I assumed. It would have been helpful if the speech bubbles were removed; the code in the speech bubbles could have been placed side-by-side with the code on the left. For example, at 4:18, the text in the speech bubble could have been replaced with the code on the left but with "T" and "typename" swapped out for "CustomType" and "class". The explanation need not change. 4:16 "...use a better name, like CustomType as shown in the example on the right". 3:37 "...can be replaced by class, as you can see in the example on the right..." Edit: I just noticed the speech bubbles do help as annotations in other slides.
@BiddutMitra
@BiddutMitra Жыл бұрын
C with better structure, which is c++.
@paulchamberlain7942
@paulchamberlain7942 Ай бұрын
pReality = (UnconditionalSurrender *)pVictoryPlan;
@vasylvoina6663
@vasylvoina6663 2 жыл бұрын
I call function templates for 145 000 different types, so I end up with 145 000 functions generated. Wow, really nice feature.
@yseeme
@yseeme Жыл бұрын
Keep C++ away from stupid politics
@__hannibaalbarca__
@__hannibaalbarca__ Жыл бұрын
_CppCon_ please keep politic out.
@toxic_champ
@toxic_champ 3 ай бұрын
they can't, there is "con" in channel's title. So following the agenda is what they have to do
@rahulc480
@rahulc480 Ай бұрын
Just to understand, what are you talking about
Back to Basics: C++ API Design - Jason Turner - CppCon 2022
1:00:42
ТВОИ РОДИТЕЛИ И ЧЕЛОВЕК ПАУК 😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 4,6 МЛН
Amazing remote control#devil  #lilith #funny #shorts
00:30
Devil Lilith
Рет қаралды 15 МЛН
Trick-or-Treating in a Rush. Part 2
00:37
Daniel LaBelle
Рет қаралды 45 МЛН
How can I use the .find() output for schema validation?
1:16
Generic Programming in C++ - Bjarne Stroustrup
1:57:15
Using std::cpp
Рет қаралды 2,7 М.
C++ Lambda Idioms - Timur Doumler - CppCon 2022
1:04:45
CppCon
Рет қаралды 52 М.
Why i think C++ is better than rust
32:48
ThePrimeTime
Рет қаралды 326 М.
Back to Basics: Lambdas - Nicolai Josuttis - CppCon 2021
1:05:21
C++ Standard Views - Nico Josuttis - ACCU 2023
1:36:08
ACCU Conference
Рет қаралды 8 М.
31 nooby C++ habits you need to ditch
16:18
mCoding
Рет қаралды 821 М.
ТВОИ РОДИТЕЛИ И ЧЕЛОВЕК ПАУК 😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 4,6 МЛН