привет!
есть такое:
template<typename F>
void bind(F &&f) {
auto cb = [f](...){ ... }; // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
// тут я положу 'cb' в некоторый контейнер
}
вопрос в том, что я не понимаю как я должен тут поступить...
с одной стороны — для lvalue тут будет copy-ctor, но для rvalue — не понимаю... ('f', который останется в лямбде, будет инициализирован rvalue ссылкой?)
с другой — если изменить список захвата так '[f=std::move(f)]' — то, кажется, смысл появляется. но, тогда мне кажется более разумным использовать 'std::forward<>()' ?... оф %)
проясните, плиз.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)