Back to Basics: Move Semantics - Nicolai Josuttis - CppCon 2021

preview_player
Показать описание
---
Move semantics, introduced with C++11, has become a hallmark of modern C++ programming. However, it also complicates the language in some ways. For thisu reason it is key to understand move semantics (it purpose, its basic rules, and how to use them in practice).

This session teaches the basics of C++ move semantics. Based on the basic principles, it motivates and explains move semantics so that you as an application programmer you can use move semantics correctly und understand its use better.

---
Nicolai Josuttis

He has been an active member of the C++ standards committee for more than 20 years.

---

*--*
Рекомендации по теме
Комментарии
Автор

A thoroughly excellent talk, this is by far the clearest and least confused explanation of C++ move semantics I have encountered. Bravo!

hellfirelordofevil
Автор

wow. After struggling to understand move semantics for months...I finally get it. Thank you CPPCON & Nicolai Josuttis!!

halfengineeringg
Автор

Quite a complete summary that exposes most if not all the move semantic intricacies.

MaitreBart
Автор

great explanations especially on why move needs to be recalled and perfect forwarding!!! I finally understood WHY I have to go through all that.

lucixlr
Автор

Thank you for explaining why std::forward exists, it makes it easy to understand what it does and when you have to use it.

MrHidefr
Автор

Thank you so much for these amazing videos. I've borrowed Nicolai's book "The c++ Standard Library", You are so inspirational and give great examples, thank you Nicolai.

AA-emlw
Автор

Thank you for the talk! I am learning C++ as a novice and really enjoying these sessions!
Very clear, with specific examples to explain the context and the value of the concept. 5/5!

culturedgator
Автор

I wore the spine out of his 1st edition of "The C++ Standard Library". Thanks so much for that book, it very much helped me learn how to use the C++ standard library!

markbotner
Автор

Very clear, concise and meticulous talk, much appreciated.

akuskus
Автор

Brilliantly explained. Thank you Mr Josuttis.

JeremyCoppin
Автор

Thank you for making these videos, Mr Josuttis.

MeeroSom
Автор

Thankyou so much !!!
Finally i can understand the difference between push_back and emplace_back

bareminimum-mrtz
Автор

This is a perfect explanation what the move semantics is.

ivancheburan
Автор

Thank you so much for deeply understanding of the move semantic and universal forwarding.

shailendrarajput
Автор

Great example! Thanks to this video, now I have better understanding on move semantics.

code_craft_young
Автор

The last part about universal reference was very useful.

ohwow
Автор

55:45, 57:00
In C++ 20 you will use this a lot.

Is there an actual compelling example?
I haven’t seen much that using `auto&& c = thing()`
Buys you over using `auto c = thing()` and then moving later instead of forwarding.

One less move constructor call, and if it’s a copy only type will be one less copy, which is obviously good, however the trade off is much messier syntax.
I would personally prefer the simpler, easier to read version with an extra possible copy and optimize later if it’s a performance bottle neck.

But maybe I’m missing something?

khatdubell
Автор

Excellent, clear talk and the best on the subject. thank you!

Moriadin
Автор

Awesome 👏 ❤Thank you so much for sharing ❤

thestarinthesky_
Автор

53:26 I think "Jil" from the variable first will not be moved as the constructor of Cust takes const std::string& as parameter

Good video. Give me motivation to see whats on C++20.

talluay
welcome to shbcf.ru