Size: a a a

2021 March 24

DH

Dark Hole in dlang.ru
Макс Воробьев
у swift тоже подобная фигня есть. нужна например, что-бы захватывать объект в контекст по weak ref
Плодить шаблонные функции ради делегатов?
источник

МВ

Макс Воробьев... in dlang.ru
Dark Hole
Плодить шаблонные функции ради делегатов?
нет. есть std::function который обертка над всем, у чего есть оператор ()
источник

DH

Dark Hole in dlang.ru
Макс Воробьев
нет. есть std::function который обертка над всем, у чего есть оператор ()
Шаблонный?
источник

МВ

Макс Воробьев... in dlang.ru
Dark Hole
Шаблонный?
да.
источник

DH

Dark Hole in dlang.ru
Ну так для него все равно придется плодить шаблоны, не?
источник

DH

Dark Hole in dlang.ru
А
источник

DH

Dark Hole in dlang.ru
Лол
источник

DH

Dark Hole in dlang.ru
Костыльно однако
источник

МВ

Макс Воробьев... in dlang.ru
Dark Hole
Ну так для него все равно придется плодить шаблоны, не?
там шаблонный параметр - сигнатура функтора
источник

DH

Dark Hole in dlang.ru
Макс Воробьев
там шаблонный параметр - сигнатура функтора
А под капотом ссылка на контекст (делегат) и нужный метод ()?
источник

МВ

Макс Воробьев... in dlang.ru
Dark Hole
А под капотом ссылка на контекст (делегат) и нужный метод ()?
ссылка на объект с оператором (). в том числе и на лямбду
источник

DH

Dark Hole in dlang.ru
Макс Воробьев
ссылка на объект с оператором (). в том числе и на лямбду
Не получится хранить только сам объект
источник

МВ

Макс Воробьев... in dlang.ru
точнее наверн так
источник

МВ

Макс Воробьев... in dlang.ru
ссылка на полиморфный объект с оператором (), который внутри вызывает твой объект с ()
источник

DH

Dark Hole in dlang.ru
Макс Воробьев
ссылка на полиморфный объект с оператором (), который внутри вызывает твой объект с ()
А полиморфный объект как устроен?
источник

МВ

Макс Воробьев... in dlang.ru
если бы еще в сорсах gcc было легко копаться https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/bits/std_function.h
источник

МВ

Макс Воробьев... in dlang.ru
Dark Hole
А полиморфный объект как устроен?
источник

OB

Oleg B in dlang.ru
Макс Воробьев
ссылка на полиморфный объект с оператором (), который внутри вызывает твой объект с ()
по итогу без кучи не обойтись
источник

OB

Oleg B in dlang.ru
только заморочек больше
источник

OB

Oleg B in dlang.ru
в D же ещё можно делегаты создавать на месте без GC, если они передаются в функцию или метод, принимающие scope делегат
источник