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 Жыл бұрын
What materials were you reading about value categories? I'd love to read more on the subject
@Possseidon4 жыл бұрын
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!
@pmcgee0035 жыл бұрын
TFW your Basics lecture includes the term Temporary Materialisation Conversion.
@koustavchowdhury82104 ай бұрын
This is THE best talk for understanding value categories. Period.
@gustafbstrom Жыл бұрын
This talk made how to think about C++ value catogories so much more clear to me. Thanks sir!
@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!
@furuame7 ай бұрын
I hope I watched Ben’s talk before running into move semantics. Thank you!
@orlando74485 жыл бұрын
Mr Ben Saks is a gifted teacher!
@kamilziemian9952 жыл бұрын
Every C++ programmer should watch this video. With exception to Ben Saks and other superprogrammers that already know it content. 😉
@ra1n_2 жыл бұрын
1 hour just flew by Whatta teacher !
@kamilziemian9952 жыл бұрын
Saks family is an family of experts in explaining C++ in a clear way.
@mikkqu4 жыл бұрын
This guy is awesome, I hope to see more of him in the future!
@collapsingspace3 жыл бұрын
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.
@rahulc4804 ай бұрын
@@collapsingspace it's universal reference and not rvalue reference?
@toolmanp3885 Жыл бұрын
This lecture is truly insightful and easy to follow after I tries to study the value categories in cpp references. Huge thanks!
@RyutlisWang2 жыл бұрын
Thank you Ben for such clear and thorough explanation of value categories, the best I have seen.
@DominoPivot3 жыл бұрын
I've been working on highly abstract languages for years so that was an excellent refresher.
@jiaweihe1244 Жыл бұрын
I cannot find the slides file in the github link provided, is there any other place to get the slides?
@YourCRTube5 жыл бұрын
Great talk. Both approachable and exhaustive.
@syedimadhaqqi4340 Жыл бұрын
I cannot find the presentation material. Can you please advise a direct link. Thanks
@saeedmahmoodi72115 жыл бұрын
after 2 months of consusions i finally got it Geart job!
@kamilziemian9952 жыл бұрын
I should watch all Ben Saks talks avaliable online.
@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.
@pawanadhikari1104 жыл бұрын
The presentation content isn't available in the github .
@tourdesource Жыл бұрын
Clear as water now, thank you Ben!
@guykeren9666 Жыл бұрын
Gifted! great talk, Helps to understand the basics (how much I didn't know)
@zehaia2 жыл бұрын
Best explanation of this subject out there.
@RahulRahul-pi5fm Жыл бұрын
Thank you Ben for the presentation.
@JasonMelton13 жыл бұрын
Very helpful in untangling these concepts!
@SirToxe3 жыл бұрын
Excellent talk by Ben.
@bboysil2 жыл бұрын
Perfect introduction to value categories.
@aftostok6080 Жыл бұрын
This is great.
@qasimijaz1664 Жыл бұрын
what a great talk, thanks Ben
@unclechaelsneckvein Жыл бұрын
Exceptionally good presentation.
@liveonphoenix50452 жыл бұрын
@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?
@liveonphoenix50452 жыл бұрын
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.
@janpapaj43732 жыл бұрын
Superb lecture!
@CppCon2 жыл бұрын
Glad it was helpful!
@paulozhang93463 жыл бұрын
Amazing, thanks man.
@CppCon3 жыл бұрын
Glad you liked it!
@kweqkweq Жыл бұрын
Great talk. Very helpful
@manuvaad2 жыл бұрын
Great talk!
@konradkomisarczyk3962 жыл бұрын
Loved the talk
@anatheistsopinion99744 жыл бұрын
Beyond excellent!
@NonTwinBrothers Жыл бұрын
48:45 Alright I'll admit. Intentional or not, that one made me laugh
@marketqueue85625 жыл бұрын
Thanks.... Cleared all my confusion...
@kirillspiridonov18783 ай бұрын
I can't find presentation Where is it?
@nguyendaison272 жыл бұрын
Thank you.
@CppCon2 жыл бұрын
You're welcome!
@Sabinagirl1645 жыл бұрын
Great talk
@hanzheng444 жыл бұрын
very helpful, thanks.
@abdelrhmanahmed13784 жыл бұрын
int x = 6; int z = 10; int& p =x; p = 100; cout
@D0Samp2 жыл бұрын
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;