23. move-семантика. Правило пяти. Понятия lvalue и rvalue.

Поділитися
Вставка
  • Опубліковано 24 бер 2021

КОМЕНТАРІ • 15

  • @73jdie8hH
    @73jdie8hH Рік тому +2

    Очень круто!!! Благодарю Илья! Обязательно ознакомлюсь со всем материалом на канале.

  • @anoona5015
    @anoona5015 3 роки тому +10

    Лайк глядя

  • @user-lk2qh2cb7x
    @user-lk2qh2cb7x 9 місяців тому +1

    обалдеть. заинтригован.

  • @0day694
    @0day694 3 роки тому +5

    Лайк не глядя.

    • @olegger7436
      @olegger7436 3 роки тому +4

      Да не). Как раз смотреть обязательно, просто обалденная подача материала, а затрагиваются очень тяжелые к пониманию механизмы языка.

    • @alexanderskusnov5119
      @alexanderskusnov5119 Рік тому

      За чёрную тему дизлайк не глядя. Половина кода не видна. Да и звук плавает, постоянно приходится движок туда-сюда гонять. Рано ему ещё в блогеры.

  • @meowpow7522
    @meowpow7522 7 місяців тому

    спасибо!

  • @someStudentChannel
    @someStudentChannel 2 роки тому +4

    Лайки с нескольких акков

  • @user-lk2qh2cb7x
    @user-lk2qh2cb7x 9 місяців тому +1

    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

  • @boriscontube
    @boriscontube Рік тому +3

    34:00 Вопрос. Испортится ли объект ss после {;std::move(ss);s3=ss;}? Или инструкция s3=ss будет исполнена так же, как если бы перед ней не было std::move(ss)?

    • @user-nh4ep7ns2j
      @user-nh4ep7ns2j Рік тому +1

      Насколько я понимаю, компилятор разбивает каждую операцию на значащие токены и смотрит исходя из них, что ему делать. Все операции заканчиваются либо «;», либо кавычкой, соответственно для компилятора есть две независимых операции: мув и присваивание. В первой он увидел, что вызвали мув, но ничего другого не увидел и операцию закончил. Во второй операция состоит только из присваивания, действие предыдущей операции, где было мув, в данном случае не учитывается.
      Могу быть не прав, нужно самому будет ща чекнуть, интересно стало)

    • @boriscontube
      @boriscontube Рік тому +1

      @@user-nh4ep7ns2j Спасибо за пояснения!

    • @princessmary5556
      @princessmary5556 5 місяців тому

      Нет, не испортится. Да, s3=ss будет исполнена так же, как если бы перед ней не было std::move(ss)

    • @boriscontube
      @boriscontube 5 місяців тому +1

      @@princessmary5556 Спасибо! 🌷

  • @maxpo801
    @maxpo801 2 роки тому +1

    Хороший пример использования move-семантики
    ua-cam.com/video/OWNeCTd7yQE/v-deo.html