Size: a a a

pro.graphon (and gamedev)

2020 June 24

d

disba1ancer in pro.graphon (and gamedev)
Anatoly Tomilov
А что это даст?
если захочешь передать не оригинальный функтор, а копию, просто делаешь явную временную копию и передаёшь, если кому-то внутри будет нужна копия то её мувнут
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Но там всё по значению
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Нет таких алгоритмов, няз
источник

AF

Aidar Fattakhov in pro.graphon (and gamedev)
Anatoly Tomilov
Не. Не шиза. Все штуки, которые "указатель", следует передавать по значению. Иначе double indirection получается лишний.
только изза стиля да
источник

AF

Aidar Fattakhov in pro.graphon (and gamedev)
но я почти уверен что ваще пофигу
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
std::shuffle, к примеру, так и передаёт, но не лставляет объект в moved from состоянии
источник

AF

Aidar Fattakhov in pro.graphon (and gamedev)
кстати большинство стд же по ссылкам работает
источник

AF

Aidar Fattakhov in pro.graphon (and gamedev)
там же везде perfect forwarding
источник

AF

Aidar Fattakhov in pro.graphon (and gamedev)
это ссылки
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
disba1ancer
если захочешь передать не оригинальный функтор, а копию, просто делаешь явную временную копию и передаёшь, если кому-то внутри будет нужна копия то её мувнут
Скорей предполагается, что засунут в std::function и по значению передадут
источник

d

disba1ancer in pro.graphon (and gamedev)
для функторов я бы не рекомендовал ссылки, для остальных перечисленных случаев вполне пойдёт
источник

d

disba1ancer in pro.graphon (and gamedev)
а вы вообще знали что std::function умеет в small object optimization для std::reference_wrapper?
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Aidar Fattakhov
кстати большинство стд же по ссылкам работает
Везде по значению как раз. Кроме как для prng, который в случае mt19937 весит 2500 байт
источник

d

disba1ancer in pro.graphon (and gamedev)
Anatoly Tomilov
Скорей предполагается, что засунут в std::function и по значению передадут
скорее как reference_wrapper
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Ну или так
источник

AF

Aidar Fattakhov in pro.graphon (and gamedev)
Anatoly Tomilov
Везде по значению как раз. Кроме как для prng, который в случае mt19937 весит 2500 байт
рофлишь?
источник

AF

Aidar Fattakhov in pro.graphon (and gamedev)
любую функцию-член наугад возьми
источник

d

disba1ancer in pro.graphon (and gamedev)
Aidar Fattakhov
рофлишь?
мб и нет, но проверять лень
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Нет. For each, transform, partial sum, inner product, etc. Все. Кроме парочки
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Aidar Fattakhov
любую функцию-член наугад возьми
Чья функция член принимает функциональный объект, кроме как у std::function?
источник