Size: a a a

2020 August 12

CD

Constantine Drozdov in rust_offtopic
Stanislav Popov
это вообще законно?
в C++14/C++17 ввели часть про обязательное, есть разрешенное
источник

CD

Constantine Drozdov in rust_offtopic
компилятор может сделать так
источник

p

polunin.ai in rust_offtopic
Хуево выглядит
источник

SP

Stanislav Popov in rust_offtopic
а как это называется вообще?
источник

CD

Constantine Drozdov in rust_offtopic
Stanislav Popov
а как это называется вообще?
RVO/NRVO
источник

CD

Constantine Drozdov in rust_offtopic
и оно работало в MSVC 2003 года
источник

SP

Stanislav Popov in rust_offtopic
а ну да, я как раз это путал с мувом
источник

CD

Constantine Drozdov in rust_offtopic
Stanislav Popov
а как это называется вообще?
работает так: если это не случай обязательного RVO/NRVO, компилятор проверяет, что синтаксически может копировать/перемещать
источник

CD

Constantine Drozdov in rust_offtopic
после этого не копирует и не перемещает
источник

p

polunin.ai in rust_offtopic
Constantine Drozdov
это pair, а я тебе про optional
источник

CD

Constantine Drozdov in rust_offtopic
ага, просто к nullptr это относится никак
источник

CD

Constantine Drozdov in rust_offtopic
optional<T&> вообще запрещено
источник

p

polunin.ai in rust_offtopic
Чего
источник

p

polunin.ai in rust_offtopic
Ты говорил про зависимую пару
источник

CD

Constantine Drozdov in rust_offtopic
ой все
источник

SP

Stanislav Popov in rust_offtopic
так погоди а мув это не RVO, лол
источник

SP

Stanislav Popov in rust_offtopic
почему кресты такие сложные. где моя парта
источник

CD

Constantine Drozdov in rust_offtopic
Stanislav Popov
так погоди а мув это не RVO, лол
RVO/NRVO это конкретно случай возврата из функции
источник

CD

Constantine Drozdov in rust_offtopic
глобальные возможности elision в разработке, я не знаю успехов
источник

CD

Constantine Drozdov in rust_offtopic
знаю, что люди шаманили над шлангом
источник