Size: a a a

2020 March 25

A

Alex in pro.cxx
спасибо, наконец-то более-менее разобрался.
источник

A

Alex in pro.cxx
RVO и copy elision - это синонимы?
источник

AT

Andrew Titov in pro.cxx
RVO - это частный случай guaranteed copy elision.
источник

A

Alex in pro.cxx
Понял, то есть тот, где возврат значения, а не тот, где конструирование из временного объекта?
источник

AT

Andrew Titov in pro.cxx
Да.
источник

PZ

Pavel Zhigulin in pro.cxx
Побитый Кирпич
При возврате значения мув это такой же лишний оверхед, как и копирование. Просто потому, что создаётся лишний объект. Мув нужен в других местах
Это логично с точки зрения компилятора, как я уже говорил. С точки зрения человека - это полный бред. Я уж не говорю о том, что компилятор абсолютно точно знает что делает std::move и мог бы и сам догадаться что я имел ввиду.
источник

ПК

Побитый Кирпич in pro.cxx
Pavel Zhigulin
Это логично с точки зрения компилятора, как я уже говорил. С точки зрения человека - это полный бред. Я уж не говорю о том, что компилятор абсолютно точно знает что делает std::move и мог бы и сам догадаться что я имел ввиду.
Компилятор не может догадаться, потому что в мув конструкторе может быть произвольны код, и раз уж ты явно пишешь мув, то видимо ты специально хочешь его вызвать, схренали компилятор должен вырезать тут мув?
источник

ПК

Побитый Кирпич in pro.cxx
Наоборот, чем меньше программист своевольничает тем проще компилятору
источник

A

Alex in pro.cxx
так написано же, что copy elision работает независимо от наличия набюдаемых побочных эффектов
источник

ПК

Побитый Кирпич in pro.cxx
Alex
так написано же, что copy elision работает независимо от наличия набюдаемых побочных эффектов
Тогда нет резона писать std::move явно
источник

ПК

Побитый Кирпич in pro.cxx
Как не посмотри, он не нужен
источник

A

Alex in pro.cxx
Согласен, но всё равно странно, что он ломает rvo
источник

AN

Alexander N in pro.cxx
Andrew Titov
Да, но это NRVO, его ещё не завезли.
Куда не завезли?
источник

AN

Alexander N in pro.cxx
Вообще например чем это отличается от ситуации, когда скажем делаем emplace? только создание объекта происходит выше, там откуда вызывали, типа форвардятся аргументы
источник

AD

Andrey Davydov in pro.cxx
И Ivan
А скажите, в приличном обществе можно говорить "корутины"? Или только "сопрограммы"? Или както вообще по-другому?
В приличном обществе  за "корутины" х-ми обкладывают.
источник

S

Stas in pro.cxx
Andrey Davydov
В приличном обществе  за "корутины" х-ми обкладывают.
А можно аргументировать ответ?
источник

t

ttldtor in pro.cxx
можно говорить как угодно
источник

YP

Yegor Popov in pro.cxx
Ребята, вопрос. Допустим, у меня есть простое консольное приложение. Мне нужно сделать так, чтобы пользователь (я) мог создать только 1 инстанс этого приложения. Как это сделать?
источник

K

Konstantin in pro.cxx
запустить только один процесс?
источник

YP

Yegor Popov in pro.cxx
Да
источник