23. 2:30 - х4 поч изобрели мув.семантику || почему все кто не шарит за мувсемантику недопрограммисты и лохи по жизни 28:40 - учимся работать с std::move // 34:15 - 2 распространенных мифа про std::move 43:43 - The Rule of Five 1:18:00 - Formal definitions(определения) of lvalue and rvalue
34:00 Вопрос. Испортится ли объект ss после {;std::move(ss);s3=ss;}? Или инструкция s3=ss будет исполнена так же, как если бы перед ней не было std::move(ss)?
Насколько я понимаю, компилятор разбивает каждую операцию на значащие токены и смотрит исходя из них, что ему делать. Все операции заканчиваются либо «;», либо кавычкой, соответственно для компилятора есть две независимых операции: мув и присваивание. В первой он увидел, что вызвали мув, но ничего другого не увидел и операцию закончил. Во второй операция состоит только из присваивания, действие предыдущей операции, где было мув, в данном случае не учитывается. Могу быть не прав, нужно самому будет ща чекнуть, интересно стало)
Очень круто!!! Благодарю Илья! Обязательно ознакомлюсь со всем материалом на канале.
Лайк глядя
обалдеть. заинтригован.
Лайк не глядя.
Да не). Как раз смотреть обязательно, просто обалденная подача материала, а затрагиваются очень тяжелые к пониманию механизмы языка.
За чёрную тему дизлайк не глядя. Половина кода не видна. Да и звук плавает, постоянно приходится движок туда-сюда гонять. Рано ему ещё в блогеры.
23.
2:30 - х4 поч изобрели мув.семантику || почему все кто не шарит за мувсемантику недопрограммисты и лохи по жизни
28:40 - учимся работать с std::move
// 34:15 - 2 распространенных мифа про std::move
43:43 - The Rule of Five
1:18:00 - Formal definitions(определения) of lvalue and rvalue
спасибо!
34:00 Вопрос. Испортится ли объект ss после {;std::move(ss);s3=ss;}? Или инструкция s3=ss будет исполнена так же, как если бы перед ней не было std::move(ss)?
Насколько я понимаю, компилятор разбивает каждую операцию на значащие токены и смотрит исходя из них, что ему делать. Все операции заканчиваются либо «;», либо кавычкой, соответственно для компилятора есть две независимых операции: мув и присваивание. В первой он увидел, что вызвали мув, но ничего другого не увидел и операцию закончил. Во второй операция состоит только из присваивания, действие предыдущей операции, где было мув, в данном случае не учитывается.
Могу быть не прав, нужно самому будет ща чекнуть, интересно стало)
@@user-nh4ep7ns2j Спасибо за пояснения!
Нет, не испортится. Да, s3=ss будет исполнена так же, как если бы перед ней не было std::move(ss)
@@princessmary5556 Спасибо! 🌷
Лайки с нескольких акков
Хороший пример использования move-семантики
czcams.com/video/OWNeCTd7yQE/video.html