- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
#include <new>
template <typename Lhs, typename Rhs>
auto replace(Lhs *lhs, Rhs) {
return *new (reinterpret_cast<void*>(lhs)) Rhs{};
}
int main() {
auto f1 = &add;
auto f2 = replace(add, [](int a, int b) { return a - b; });
f1(4, 2);
f2(4, 2);
}
Elvenfighter 16.10.2018 01:34 # 0
Ах да, вдохновение отсюда: http://govnokod.ru/24916#comment435346
bormand 16.10.2018 08:58 # +1
j123123 16.10.2018 11:25 # +1
Elvenfighter 16.10.2018 12:15 # +1
j123123 16.10.2018 12:21 # +1
Elvenfighter 16.10.2018 12:29 # +1
* У лямбды без захвата есть конструктор по умолчанию
* У лямбды с захватом есть копирующий и move-constructor (а конструктор по умолчанию =delete)
Припоминается тип говорил о протекающих абстракциях (SFW): https://www.youtube.com/watch?v=S9_mYmvO4Ow
Elvenfighter 16.10.2018 01:50 # 0
Psionic 16.10.2018 16:37 # −1
roman-kashitsyn 16.10.2018 16:51 # +2
OBEH 16.10.2018 02:43 # −1
В качестве предупредительной меры въебал минус.
guest8 16.10.2018 02:44 # −999
Perevedi_na_PHP 16.10.2018 10:17 # 0
guest8 16.10.2018 11:52 # −999
Elvenfighter 16.10.2018 12:18 # +4
guest8 16.10.2018 02:55 # −999
OBEH 16.10.2018 04:53 # +1
Steve_Brown 17.10.2018 19:23 # +1
Советский static_assert?