- 1
- 2
- 3
- 4
- 5
- 6
template <typename T>
void function_name(T &&data)
{
static_assert(std::is_rvalue_reference<decltype(data)>::value, "data must be rvalue");
// ...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+63
template <typename T>
void function_name(T &&data)
{
static_assert(std::is_rvalue_reference<decltype(data)>::value, "data must be rvalue");
// ...
}
Все лишнее убрано
классика
Вот что не так.
Если уж нужно владеть T внутри функции, почему не получать аргумент по значению? Пусть вызывающий решает, хочет он сделать копию или передать владение.
Все верно
> Пирфоманс головного мозга?
Врачи говорят, болезнь прогрессирует. И вбить в голову автора такую простую мысль уже не представляется возможным.