- 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");
// ...
}
Все лишнее убрано
hometwo 30.04.2014 17:56 # −40
brutushafens 30.04.2014 18:01 # −20
brutushafens 30.04.2014 18:01 # −20
Setry 30.04.2014 19:46 # +2
brutushafens 30.04.2014 19:48 # −5
WGH 30.04.2014 21:28 # +1
bormand 30.04.2014 21:32 # −27
brutushafens 30.04.2014 21:38 # 0
brutushafens 30.04.2014 21:38 # −5
TarasB 30.04.2014 22:34 # +5
defecate-plusplus 30.04.2014 22:39 # +2
классика
guest 30.04.2014 23:53 # −2
Вот что не так.
roman-kashitsyn 01.05.2014 11:06 # +2
Если уж нужно владеть T внутри функции, почему не получать аргумент по значению? Пусть вызывающий решает, хочет он сделать копию или передать владение.
Setry 01.05.2014 11:54 # +1
Все верно
> Пирфоманс головного мозга?
Врачи говорят, болезнь прогрессирует. И вбить в голову автора такую простую мысль уже не представляется возможным.