Почему Bind_front/bind_back/not_fn/bind требует аргументов ... для перемещения?C++

Программы на C++. Форум разработчиков
Anonymous
Почему Bind_front/bind_back/not_fn/bind требует аргументов ... для перемещения?

Сообщение Anonymous »

Я заметил, что std :: bind_front /

Код: Выделить всё

std::bind_back
/

Код: Выделить всё

std::not_fn
, что дает обертку совершенной переадресации вызов , чтобы аргументы функции и аргументы аргумента, передаваемые в , должны быть конструктивно перемещать.

Код: Выделить всё

template
constexpr unspecified bind_front(F&& f, Args&&... args);
< /code>
тки...  is_constructible_v &&
is_move_constructible_v &&
(is_constructible_v && ...) &&
(is_move_constructible_v && ...)
is true .

, где fd - тип decay_t , а Boundargs - это пакет, который обозначает decay_t ... . preconditions , что fd и boundargs должны соответствовать требованиям cpp17moveconstructuible в [func.bind.bind].
Я могу понять IS_Constructible_V
Что, по моему мнению, это не должно быть так, как я не вижу преимуществ отклонения вышеупомянутого. Какое обоснование этого?

Подробнее здесь: https://stackoverflow.com/questions/771 ... onstructib

Вернуться в «C++»