Property discussion wrap-up
Rob T
alanb at ucora.com
Wed Jan 30 19:33:21 PST 2013
On Wednesday, 30 January 2013 at 18:36:17 UTC, Dmitry Olshansky
wrote:
[...]
> I have one key problem - the hidden pointer detail.
> In other words how should it find the instance of the outer
> struct to to access it?
>
> struct A{
> int a;
> struct B{
> void foo(){ a = 42; }
> }
> B b;
> }
>
> A a;
> a.b.foo(); //how that b is supposed to know it's outer struct
> without the hidden pointer?
>
> auto x = a.b;
> x.foo();// and now what?
>
>
Good point.
A property-struct could behave like a struct and also like a
regular member function.
Member functions work because they take in a pointer to the
struct or class when called, eg
a.b.foo();
becomes
a.b.foo(&a);
auto x = a.b; // returns property value of b, not b itself.
auto x = &a.b; // returns delegate pointer to b
x.foo(); // OK
--rt
More information about the Digitalmars-d
mailing list