Согласно статье «auto(x)» (wg21.link/p0849), почему «return std::forward<T>» не может идеально переслать параметры, введ ⇐ C++
Согласно статье «auto(x)» (wg21.link/p0849), почему «return std::forward<T>» не может идеально переслать параметры, введ
В язык добавлено выражение auto(x). Логично, потому что мы не можем усовершенствовать прямой распад с помощью этого.
шаблон constexpr распада_t распада_копии(T&& v) noException( is_nothrow_convertible_v) { return std::forward(v); } Согласно статье https://wg21.link/p0849, decay_copy просто не может избежать копирования.
Очевидная проблема заключается в том, что decay_copy(x.front()) копирует x.front(), даже если x.front() является prvalue, другими словами, копией.
Должен ли std::forward совершенствовать пересылку входных параметров, объявленных с помощью универсальной ссылки/пересылки?
В язык добавлено выражение auto(x). Логично, потому что мы не можем усовершенствовать прямой распад с помощью этого.
шаблон constexpr распада_t распада_копии(T&& v) noException( is_nothrow_convertible_v) { return std::forward(v); } Согласно статье https://wg21.link/p0849, decay_copy просто не может избежать копирования.
Очевидная проблема заключается в том, что decay_copy(x.front()) копирует x.front(), даже если x.front() является prvalue, другими словами, копией.
Должен ли std::forward совершенствовать пересылку входных параметров, объявленных с помощью универсальной ссылки/пересылки?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Задача по электронной почте return return return, но не отправляйте электронную почту, иногда
Anonymous » » в форуме Php - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-