Лекция 2. Move semantics && perfect forwarding (Программирование на C++, часть 2)

compscicenter.ru/
Лекция №2 в курсе "Программирование на C++, часть 2" (весна 2019).
Преподаватель курса: Валерий Михайлович Лесин
Страница лекции на сайте CS центра: bit.ly/2NgLxOl
Все видео курса: bit.ly/2BL6j47

Пікірлер: 19

  • @KIR_Engineer
    @KIR_Engineer2 жыл бұрын

    Валерий очень крутой преподаватель. Вот из-за этого человека очень хочется учится CSC. Осталось пройти вступительные экзамены и решиться переехать в Санкт-Петербург)

  • @user-yy6ig3wm2h
    @user-yy6ig3wm2h4 жыл бұрын

    Лекция - супер, Лектор(именно с большой буквы) бомба! Спасибо, очень информативно!

  • @rkozom
    @rkozom5 жыл бұрын

    Очень круто! Спасибо большое!

  • @nikitross7466
    @nikitross74664 жыл бұрын

    Лекции супер! Недавно воевал с подобным в Rapidjson без особого понимания Move семантики, у них в функциях не предвиделась передача lreferense переменных, а только rvalue. К примеру func("hello"), успешно работает, но ... const char* temp = hello; func(temp); уже не скомпилировать. Пришлось заворачивать их функции ради возможности нормально передавать данные подобным способом. template void func(T&& val){ /*...*/ }

  • @artempopov2298
    @artempopov22984 жыл бұрын

    прикольное название у лекции :)

  • @codevantage404
    @codevantage4043 ай бұрын

    Спасибо!

  • @yugenepopov2014
    @yugenepopov20146 ай бұрын

    27:25, 31:55 - не понял, что за магическая функция "swap" используется в конструкторе и операторе присваивания. Я так понял, для её использования необходима соответствующая перегрузка? Компилятор выдает следующее сообщение: "no instance of overloaded function "swap" matches the argument list". Заранее мерси за ответ.

  • @yaroslavkozlov569
    @yaroslavkozlov569 Жыл бұрын

    string("sada") - rvalue and in gcc 10. &(string("asdasda") ) is not allowed - error: taking address of rvalue [-fpermissive]

  • @exile2699
    @exile26994 жыл бұрын

    Такой вопрос, на 47:55 лектор говорит, что при возврате из функции будет использована move семантика. Но разве там не надо return move(str); вместо просто return str; ?

  • @bochkarevartem

    @bochkarevartem

    3 жыл бұрын

    Не надо. Компилятор знает, что после "return str;" строка не может быть использована, поэтому сам все сделает в наилучшем виде.

  • @nagibator77779
    @nagibator777794 жыл бұрын

    Лектор просто бомба! Chad c++ developer :D. "Анастасия, к чёрту machine learning" - орал с этой фразы.

  • @AnatolySupakov
    @AnatolySupakov4 жыл бұрын

    24:30 noexcept?

  • @maximorlov8208
    @maximorlov82084 жыл бұрын

    На 13:34 Валерий Лесин утверждает, что в строке 7. answer_ref()=7; ссылается на неименованную область памяти. Но это не так: функция возвращает ссылку на answ, которая является именованной областью памяти.

  • @lubricunt416

    @lubricunt416

    2 жыл бұрын

    Он такого не утверждает. Говорится, что в строке 7 лишь создается неименованная область памяти и по ней присваивается значение уже для именованной области

  • @kosbarable
    @kosbarable5 жыл бұрын

    Я заметил, что у вас не так просто поступить на курс. А что кроме знаний даётся? Есть возможность трудоустройства после?

  • @ASFlasher

    @ASFlasher

    4 жыл бұрын

    специалистов не хватает, если ты сможешь стать специалистом, то тебе не нужно будет чье то обещание тебя трудоустроить, ты будешь сам выбирать куда и на каких условиях ты пойдешь.

  • @AlexMikh82
    @AlexMikh82 Жыл бұрын

    Объяснять Лесин толково не умеет от слова совсем. Бедные студенты не зря молчат в конце лекции. Я даже имея подготовку по C++ слушая его не редко теряюсь и только иногда после третьего прогона фрагмента ДОГАДЫВАЮСЬ, что он имел в виду. Как программист он возможно хороший, но как преподаватель НЕТ. Такие сложные темы, как моve семантику и тем более слопывание ссылок и forward на серьезных иностранных курсах разжевывают очень медленно и на множестве простых примерах с детальным пояснением. Лесин же гонит это за условные 10 минут и ещё удивляется. что большинство молчит. Хорошо, если студенты уже знают эту тему. А если вообще нет?... Получается, что вся надежда в образовании не на преподавателя, а на самообразование. А преподаватель Лесин нужен чтобы просто зачитать список того, что нужно где-то как-то узнать самому.

  • @kawsershovon3005
    @kawsershovon30055 жыл бұрын

    upload it in English :/

  • @exile2699

    @exile2699

    4 жыл бұрын

    Don't know if you still need it or not, but the lecturer at 12:38 advised to read a series of articles about rvalue refs and move semantics. thbecker.net/articles/rvalue_references/section_01.html#section_01 It's in English, and indeed a very good read.