C++ (N)RVO | Copy ellision | Оптимизации компилятора

  Рет қаралды 1,414

Полевой Дмитрий

Полевой Дмитрий

Күн бұрын

Пікірлер: 22
@userf155
@userf155 Күн бұрын
Дмитрий, низкий поклон вам за популяризацию глубоких тем C++ в таком высоком качестве для умных людей! Спасибо!
@artefek7300
@artefek7300 Күн бұрын
Продолжайте дальше снимать видео, не знаю ни одного канала где настолько хорошо объясняют работу компилятора👍
@РоманКондратов-г1р
@РоманКондратов-г1р 3 сағат бұрын
Хороший материал. Спасибо.
@rottennature7492
@rottennature7492 21 сағат бұрын
Превьюшка огонь) Спасибо за видео, смотрю по C++ только тебя и мне очень нравится Читаю в электронном виде книгу Скота Майерса ровно до тех глав, которые освещал ты и жду новые видео) Я надеюсь что ты не остановишься лишь на одной книге
@ZoomZo
@ZoomZo Күн бұрын
Всё ещё лучший
@graphmyrashkincev745
@graphmyrashkincev745 Күн бұрын
я в шоке, зашел на ютуб, чтобы rvo и nrvo чекнуть и тут видос в реках этот
@cavesalamander6308
@cavesalamander6308 Күн бұрын
Есть каналец "C++ weekly", там чувак в compiler explorer примеры пишет. Сразу ассемблерный код видать. Прикольно бывает.
@FeelUs
@FeelUs Күн бұрын
11:54 хуже от std::move() не будет. Ну будет, если в конструкторе перемещения есть принты или какая-нибудь работа с глобальными переменными. Но если внутри конструктора перемещения только переприсваивание указателей, то компилятор соптимизирует этот вызов на уровне LLVM IR, или другого своего внутреннего предоставления. Можете проверить с -O2/-O3 и глянуть на получающийся ассемблерный код. Кароче компилятор может извратить ваш код до неузнаваемости, лишь бы его внешнее проведение осталось прежним.
@СегошкаАношка
@СегошкаАношка 22 сағат бұрын
Вы очень классно объясняете. Не очень понял как там std::move работает... как он там под капотом устроен, но все равно интересно)
@JingoBo
@JingoBo Күн бұрын
В дополнении к этому: современные компиляторы хорошо оценивают возможность инлайна функций, однако всегда это вероятностное поведение. Тут правило простое - если при вызове функции компилятор видит её тело и она относительно не большая или вообще вызывается 1 раз, то велика вероятность что функция вместо вызова будет подстановленна. Опять же все зависит от настроек оптимизации.
@userf155
@userf155 Күн бұрын
Только не "кутэ", а "кьют", это игра букв от Qt (cute), миленький, кют, кьют.
@FeelUs
@FeelUs Күн бұрын
Только кутэ только хардкор
@cyrilanisimov
@cyrilanisimov Күн бұрын
Скорее всего, когда компилятор может заинлайнить функцию, работает NRVO. Если не получается, значит, копирует.
@cyrilanisimov
@cyrilanisimov Күн бұрын
QMake уже даже для Крятора задепрекейчен.
@avengeranubis
@avengeranubis Күн бұрын
Я конечно понимаю, что это модный и молодежный новый мем, но почему у меня каждое третье видео на ютубе - это кто-то от чего-то дуреет?
@The_Current_World_Champion
@The_Current_World_Champion Күн бұрын
Ещё не посадили за то, что стырил Qt?
@FeelUs
@FeelUs Күн бұрын
Когда-то Qt был открытым и общедоступным.
@cyrilanisimov
@cyrilanisimov Күн бұрын
@@FeelUs Он и сейчас есть. Разница в наборе компонентов и возможности линковки статических библиотек в платной версии.
@rkc137
@rkc137 Күн бұрын
ну и бредятина, надо было на сварщика идти
@БогданВласов-п5э
@БогданВласов-п5э Күн бұрын
Ну и веном
@userf155
@userf155 Күн бұрын
Быдло
@bigrussianbossshow9420
@bigrussianbossshow9420 Күн бұрын
@@БогданВласов-п5э абаюнда
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
std::weak_ptr - Как и Когда использовать | c++ smart pointers
24:28
Полевой Дмитрий
Рет қаралды 2,1 М.
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 269 М.
Основы семантики перемещения в с++
18:14
Полевой Дмитрий
Рет қаралды 8 М.
This GitHub repository should be illegal
9:21
Mehul - Codedamn
Рет қаралды 9 М.