Back to Basics: Understanding Value Categories - Ben Saks - CppCon 2019

  Рет қаралды 39,604

CppCon

CppCon

Күн бұрын

Пікірлер
@lsmgeb89
@lsmgeb89 3 жыл бұрын
After I have been reading some other materials about value categories, this lecture really helps me to understand them. Ben explained these concepts in a crystal clear way. Every modern C++ books should have this chapter.
@me5ng3
@me5ng3 Жыл бұрын
What materials were you reading about value categories? I'd love to read more on the subject
@Possseidon
@Possseidon 4 жыл бұрын
Ahhh! I knew what lvalue and rvalue where, but never got my head around glvalue, prvalues and xvalues. Now I finally got it! Absolutely great talk!
@pmcgee003
@pmcgee003 5 жыл бұрын
TFW your Basics lecture includes the term Temporary Materialisation Conversion.
@koustavchowdhury8210
@koustavchowdhury8210 4 ай бұрын
This is THE best talk for understanding value categories. Period.
@gustafbstrom
@gustafbstrom Жыл бұрын
This talk made how to think about C++ value catogories so much more clear to me. Thanks sir!
@TernaryHound
@TernaryHound Жыл бұрын
Great lecture. I have used these types and move semantics for years and yet this gave me such a more comfortable understanding of the motivations behind these concepts. Well done!
@furuame
@furuame 7 ай бұрын
I hope I watched Ben’s talk before running into move semantics. Thank you!
@orlando7448
@orlando7448 5 жыл бұрын
Mr Ben Saks is a gifted teacher!
@kamilziemian995
@kamilziemian995 2 жыл бұрын
Every C++ programmer should watch this video. With exception to Ben Saks and other superprogrammers that already know it content. 😉
@ra1n_
@ra1n_ 2 жыл бұрын
1 hour just flew by Whatta teacher !
@kamilziemian995
@kamilziemian995 2 жыл бұрын
Saks family is an family of experts in explaining C++ in a clear way.
@mikkqu
@mikkqu 4 жыл бұрын
This guy is awesome, I hope to see more of him in the future!
@collapsingspace
@collapsingspace 3 жыл бұрын
48:14 For people wondering if std::move(T &&a) has rvalue reference to T as parameter how does it work with something like std::move(str) because str is here an lvalue and it's clearly told in the talk that references to rvalue types only bind to rvalues and not lvalues.. There's a deeper concept at play here note that std::move is templatized and the T&& a parameter actually becomes T&a when called like std::move(str)... you can find videos on type deduction on youtube.
@rahulc480
@rahulc480 4 ай бұрын
@@collapsingspace it's universal reference and not rvalue reference?
@toolmanp3885
@toolmanp3885 Жыл бұрын
This lecture is truly insightful and easy to follow after I tries to study the value categories in cpp references. Huge thanks!
@RyutlisWang
@RyutlisWang 2 жыл бұрын
Thank you Ben for such clear and thorough explanation of value categories, the best I have seen.
@DominoPivot
@DominoPivot 3 жыл бұрын
I've been working on highly abstract languages for years so that was an excellent refresher.
@jiaweihe1244
@jiaweihe1244 Жыл бұрын
I cannot find the slides file in the github link provided, is there any other place to get the slides?
@YourCRTube
@YourCRTube 5 жыл бұрын
Great talk. Both approachable and exhaustive.
@syedimadhaqqi4340
@syedimadhaqqi4340 Жыл бұрын
I cannot find the presentation material. Can you please advise a direct link. Thanks
@saeedmahmoodi7211
@saeedmahmoodi7211 5 жыл бұрын
after 2 months of consusions i finally got it Geart job!
@kamilziemian995
@kamilziemian995 2 жыл бұрын
I should watch all Ben Saks talks avaliable online.
@shoulderstack5527
@shoulderstack5527 Жыл бұрын
I didn't know std::thread had the ++ operator. If C++ didn't exist, and someone said they had a great idea for a language, and described C++ as it is today, no one would take it seriously. This is no criticism of the speaker, who has done a great job.
@pawanadhikari110
@pawanadhikari110 4 жыл бұрын
The presentation content isn't available in the github .
@tourdesource
@tourdesource Жыл бұрын
Clear as water now, thank you Ben!
@guykeren9666
@guykeren9666 Жыл бұрын
Gifted! great talk, Helps to understand the basics (how much I didn't know)
@zehaia
@zehaia 2 жыл бұрын
Best explanation of this subject out there.
@RahulRahul-pi5fm
@RahulRahul-pi5fm Жыл бұрын
Thank you Ben for the presentation.
@JasonMelton1
@JasonMelton1 3 жыл бұрын
Very helpful in untangling these concepts!
@SirToxe
@SirToxe 3 жыл бұрын
Excellent talk by Ben.
@bboysil
@bboysil 2 жыл бұрын
Perfect introduction to value categories.
@aftostok6080
@aftostok6080 Жыл бұрын
This is great.
@qasimijaz1664
@qasimijaz1664 Жыл бұрын
what a great talk, thanks Ben
@unclechaelsneckvein
@unclechaelsneckvein Жыл бұрын
Exceptionally good presentation.
@liveonphoenix5045
@liveonphoenix5045 2 жыл бұрын
@43:08, I don't understand the 'move' assignment overloaded operator that accepts 'rval' or 'temp-val', it is said that it will delete both previous 'lval' that became 'rval' or 'temp-val', whereupon both 's2' and 's3' become 'nullptr'? By moving, do they also mean emptying those two objects?
@liveonphoenix5045
@liveonphoenix5045 2 жыл бұрын
Oh, I see, only use move semantic if we know the `src` is no longer required. As a reminder, never miss an excellent talk/seminar/lecture, Keep watching until the end.
@janpapaj4373
@janpapaj4373 2 жыл бұрын
Superb lecture!
@CppCon
@CppCon 2 жыл бұрын
Glad it was helpful!
@paulozhang9346
@paulozhang9346 3 жыл бұрын
Amazing, thanks man.
@CppCon
@CppCon 3 жыл бұрын
Glad you liked it!
@kweqkweq
@kweqkweq Жыл бұрын
Great talk. Very helpful
@manuvaad
@manuvaad 2 жыл бұрын
Great talk!
@konradkomisarczyk396
@konradkomisarczyk396 2 жыл бұрын
Loved the talk
@anatheistsopinion9974
@anatheistsopinion9974 4 жыл бұрын
Beyond excellent!
@NonTwinBrothers
@NonTwinBrothers Жыл бұрын
48:45 Alright I'll admit. Intentional or not, that one made me laugh
@marketqueue8562
@marketqueue8562 5 жыл бұрын
Thanks.... Cleared all my confusion...
@kirillspiridonov1878
@kirillspiridonov1878 3 ай бұрын
I can't find presentation Where is it?
@nguyendaison27
@nguyendaison27 2 жыл бұрын
Thank you.
@CppCon
@CppCon 2 жыл бұрын
You're welcome!
@Sabinagirl164
@Sabinagirl164 5 жыл бұрын
Great talk
@hanzheng44
@hanzheng44 4 жыл бұрын
very helpful, thanks.
@abdelrhmanahmed1378
@abdelrhmanahmed1378 4 жыл бұрын
int x = 6; int z = 10; int& p =x; p = 100; cout
@D0Samp
@D0Samp 2 жыл бұрын
Because the target of a reference is defined at assignment and does not change afterwards. "p = z" does not change the reference from x to z, it just assigns the value of z similar to "p = 100". The pointer equivalent looks like this: int * const p = &x; *p = 100; *p = z; // "p = &z" does not work, since the pointer address is const *p = 200;
24 Часа в БОУЛИНГЕ !
27:03
A4
Рет қаралды 7 МЛН
I Sent a Subscriber to Disneyland
0:27
MrBeast
Рет қаралды 104 МЛН
Caleb Pressley Shows TSA How It’s Done
0:28
Barstool Sports
Рет қаралды 60 МЛН
you will never ask about pointers again after watching this video
8:03
Core C++ 2019 :: Dan Saks :: Understanding Lvalues and Rvalues
1:01:11
Keynote: Advent of Code, Behind the Scenes - Eric Wastl
46:01
one year of studying (it was a mistake)
12:51
Jeffrey Codes
Рет қаралды 344 М.
CppCon 2019: Jason Turner “The Best Parts of C++"
58:36
CppCon
Рет қаралды 92 М.
Back to Basics: Const as a Promise -  Dan Saks - CppCon 2019
1:01:34
C++ Weekly - Ep 421 - You're Using optional, variant, pair, tuple, any, and expected Wrong!
10:34
24 Часа в БОУЛИНГЕ !
27:03
A4
Рет қаралды 7 МЛН