Size: a a a

2020 July 23

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Побитый Кирпич
Если объект в мапе удаляется и это достаточно внутренний код, то можно обойтись мувами
Ну я подозревал, что нужно избавиться от копирований внутри самой функции, но ок
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
А принимать std::string && ну хз
источник

Е

Егор in supapro.cxx
Liber Azerate
Здесь же mandatory copy elision, он должен сконструироваться в месте вызова. В любом случае я с телефона, асм не вижу
мандатори для того же типа, а там тип const char[1]
источник

LA

Liber Azerate in supapro.cxx
Егор
мандатори для того же типа, а там тип const char[1]
Нет, с 17-го стандарта такое было разрешено
источник

ПК

Побитый Кирпич... in supapro.cxx
Егор
мандатори для того же типа, а там тип const char[1]
Блен там может просто оптимизация компилятора быть. Надо проверять не на строке, а на классе с удалённым коструктором копирования
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Егор
Если тип выражения в возврате должен совпадать с типом возврата, то почему тут работает рво https://godbolt.org/z/6hKss7?
Потому что rvo возвращает prvalue
источник

ПК

Побитый Кирпич... in supapro.cxx
Побитый Кирпич
Блен там может просто оптимизация компилятора быть. Надо проверять не на строке, а на классе с удалённым коструктором копирования
Ещё и мув удалить можно. Если будет гарантированный RVO, то всё должно скомпилироваться
источник

Е

Егор in supapro.cxx
Liber Azerate
Нет, с 17-го стандарта такое было разрешено
угу, отрыл строчку
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Побитый Кирпич
Ещё и мув удалить можно. Если будет гарантированный RVO, то всё должно скомпилироваться
источник

DP

Denis Paukaev in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Потому что rvo возвращает prvalue
как может rvo что-то возвращать?
источник

Е

Егор in supapro.cxx
Denis Paukaev
как может rvo что-то возвращать?
у меня функция rvo называется
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Denis Paukaev
как может rvo что-то возвращать?
rvo это функция у него
источник

DP

Denis Paukaev in supapro.cxx
а, тогда извините
источник

ПК

Побитый Кирпич... in supapro.cxx
Если заменишь c++17 на С++14, то будет ошибка компиляции, что и требовалось доказать
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Побитый Кирпич
Если заменишь c++17 на С++14, то будет ошибка компиляции, что и требовалось доказать
А мы разве спорили на счет этого?
источник

ПК

Побитый Кирпич... in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
А мы разве спорили на счет этого?
Тогда к чему ты кинул мне ссылку?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Побитый Кирпич
Тогда к чему ты кинул мне ссылку?
К тому, что это работает в 17 стандарте. Текст я тоже из 17 скинул
источник

ПК

Побитый Кирпич... in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
К тому, что это работает в 17 стандарте. Текст я тоже из 17 скинул
А зачем ты мне скинул эту ссылку, если я с этим не спорил?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Побитый Кирпич
А зачем ты мне скинул эту ссылку, если я с этим не спорил?
Ну ты ответил человеку, который ответил мне на текст из 17 стандарта
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Егор
Если тип выражения в возврате должен совпадать с типом возврата, то почему тут работает рво https://godbolt.org/z/6hKss7?
“” -> std::string (временный объект/prvalue) -> copy ellision
источник