Member function pointers
Manu
turkeyman at gmail.com
Mon Jun 10 09:51:06 PDT 2013
On 11 June 2013 02:43, Jacob Carlborg <doob at me.com> wrote:
> 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.
You can see how much work that is right? And it's still not typesafe.
It's totally a hack.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20130611/1fb226fd/attachment.html>
More information about the Digitalmars-d
mailing list