Member function pointers
Jacob Carlborg
doob at me.com
Mon Jun 10 09:43:34 PDT 2013
On 2013-06-10 18:34, Manu wrote:
> On 11 June 2013 02:26, Jacob Carlborg <doob at me.com <mailto:doob at me.com>>
> wrote:
>
> On 2013-06-10 17:40, David Nadlinger wrote:
>
> Let me try to summarize it in code:
>
> ---
> class A { void foo(); }
> auto memberFun = (&A.foo).funcptr;
>
> auto a = new A;
> memberFun(a);
> ---
>
>
> Why is this better than a delegate?
>
>
> It's not 'better', it's different.
class A { void foo(); }
auto memberFun = (&A.foo).funcptr;
auto a = new A;
void delegate () dg;
dg.funcptr = memberFun;
dg.ptr = cast(void*) a;
dg();
The details can be hidden in a function call. Sure, a delegate could be
type safe but still don't see the point.
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list