мне встречается следующий код фрагмент :
......
template <typename SrcIt, typename DstIt, typename Func>
auto par_transform_naive(SrcIt first, SrcIt last, DstIt dst, Func&& func) {
......
auto future = std::async([first, dst, start_idx, stop_idx, &func] {
std::transform(first + start_idx, first + stop_idx, dst + start_idx, func);
});
......
}
......
Что меня смущает, так это то, почему код должен получить адрес func
:
......
auto future = std::async([first, dst, start_idx, stop_idx, &func]
......
Насколько я понимаю, независимо от того, func
выводится как lvaule refernce
или rvalue reference
, нет необходимости снова получать адрес.