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

  Рет қаралды 15,472

Computer Science Center

Computer Science Center

5 жыл бұрын

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

Пікірлер: 18
@KIR_Engineer
@KIR_Engineer 2 жыл бұрын
Валерий очень крутой преподаватель. Вот из-за этого человека очень хочется учится CSC. Осталось пройти вступительные экзамены и решиться переехать в Санкт-Петербург)
@user-yy6ig3wm2h
@user-yy6ig3wm2h 4 жыл бұрын
Лекция - супер, Лектор(именно с большой буквы) бомба! Спасибо, очень информативно!
@rkozom
@rkozom 5 жыл бұрын
Очень круто! Спасибо большое!
@nikitross7466
@nikitross7466 4 жыл бұрын
Лекции супер! Недавно воевал с подобным в Rapidjson без особого понимания Move семантики, у них в функциях не предвиделась передача lreferense переменных, а только rvalue. К примеру func("hello"), успешно работает, но ... const char* temp = hello; func(temp); уже не скомпилировать. Пришлось заворачивать их функции ради возможности нормально передавать данные подобным способом. template void func(T&& val){ /*...*/ }
@artempopov2298
@artempopov2298 4 жыл бұрын
прикольное название у лекции :)
@nagibator77779
@nagibator77779 4 жыл бұрын
Лектор просто бомба! Chad c++ developer :D. "Анастасия, к чёрту machine learning" - орал с этой фразы.
@yaroslavkozlov569
@yaroslavkozlov569 Жыл бұрын
string("sada") - rvalue and in gcc 10. &(string("asdasda") ) is not allowed - error: taking address of rvalue [-fpermissive]
@yugenepopov2014
@yugenepopov2014 8 ай бұрын
27:25, 31:55 - не понял, что за магическая функция "swap" используется в конструкторе и операторе присваивания. Я так понял, для её использования необходима соответствующая перегрузка? Компилятор выдает следующее сообщение: "no instance of overloaded function "swap" matches the argument list". Заранее мерси за ответ.
@exile2699
@exile2699 4 жыл бұрын
Такой вопрос, на 47:55 лектор говорит, что при возврате из функции будет использована move семантика. Но разве там не надо return move(str); вместо просто return str; ?
@bochkarevartem
@bochkarevartem 3 жыл бұрын
Не надо. Компилятор знает, что после "return str;" строка не может быть использована, поэтому сам все сделает в наилучшем виде.
@AnatolySupakov
@AnatolySupakov 4 жыл бұрын
24:30 noexcept?
@maximorlov8208
@maximorlov8208 4 жыл бұрын
На 13:34 Валерий Лесин утверждает, что в строке 7. answer_ref()=7; ссылается на неименованную область памяти. Но это не так: функция возвращает ссылку на answ, которая является именованной областью памяти.
@lubricunt416
@lubricunt416 2 жыл бұрын
Он такого не утверждает. Говорится, что в строке 7 лишь создается неименованная область памяти и по ней присваивается значение уже для именованной области
@kosbarable
@kosbarable 5 жыл бұрын
Я заметил, что у вас не так просто поступить на курс. А что кроме знаний даётся? Есть возможность трудоустройства после?
@ASFlasher
@ASFlasher 5 жыл бұрын
специалистов не хватает, если ты сможешь стать специалистом, то тебе не нужно будет чье то обещание тебя трудоустроить, ты будешь сам выбирать куда и на каких условиях ты пойдешь.
@AlexMikh82
@AlexMikh82 Жыл бұрын
Объяснять Лесин толково не умеет от слова совсем. Бедные студенты не зря молчат в конце лекции. Я даже имея подготовку по C++ слушая его не редко теряюсь и только иногда после третьего прогона фрагмента ДОГАДЫВАЮСЬ, что он имел в виду. Как программист он возможно хороший, но как преподаватель НЕТ. Такие сложные темы, как моve семантику и тем более слопывание ссылок и forward на серьезных иностранных курсах разжевывают очень медленно и на множестве простых примерах с детальным пояснением. Лесин же гонит это за условные 10 минут и ещё удивляется. что большинство молчит. Хорошо, если студенты уже знают эту тему. А если вообще нет?... Получается, что вся надежда в образовании не на преподавателя, а на самообразование. А преподаватель Лесин нужен чтобы просто зачитать список того, что нужно где-то как-то узнать самому.
@kawsershovon3005
@kawsershovon3005 5 жыл бұрын
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.
Лекция 3. Алгоритмы и функторы
1:09:19
Computer Science Center
Рет қаралды 7 М.
020. R-ссылки в С++11 - Дмитрий Прокопцев
41:49
Yandex for Developers
Рет қаралды 17 М.
Дарю Самокат Скейтеру !
00:42
Vlad Samokatchik
Рет қаралды 8 МЛН
Playing hide and seek with my dog 🐶
00:25
Zach King
Рет қаралды 33 МЛН
A teacher captured the cutest moment at the nursery #shorts
00:33
Fabiosa Stories
Рет қаралды 38 МЛН
C++11 Perfect Forwarding
17:24
oneproduct
Рет қаралды 18 М.
Динамическая память в языке C++
19:02
Оксана Еськова. Основы программирования
Рет қаралды 368
C++ 27. move-семантика, move-конструкторы
1:21:15
Лекторий ФПМИ
Рет қаралды 10 М.
Move Semantics in C++
13:10
The Cherno
Рет қаралды 285 М.
Лекция 3. Move semantics, rvalue reference, perfect forwarding.
56:50
Computer Science клуб при НГУ
Рет қаралды 3,2 М.
C++ Weekly - Ep 278 - `emplace_back` vs `push_back`
15:31
C++ Weekly With Jason Turner
Рет қаралды 28 М.
Дарю Самокат Скейтеру !
00:42
Vlad Samokatchik
Рет қаралды 8 МЛН