On Thursday, 26 April 2012 at 02:43:35 UTC, Victor Vicente de
Carvalho wrote:
Hi there,
In c++ one can access a pointer to a class/struct variable
using this semantic:
struct C {
int x;
};
int C::* ptr = &C::x;
C foo;
foo.*ptr = 10;
assert(foo.x == 10);
It is possible to do something like that on D? I've searched
through the forum & documentation but didn't found anything.
This is the closest thing:
---
struct C {
int x;
int* ptr() @property { return &x; }
}
C foo;
*foo.ptr = 10;
assert(foo.x = 10);
---
Also, the reason of this is that I'm studying a way to map a
POD structure based from a dynamic, data-driven structure.
Something like "get a JSON and map it to a structure
automagically". There is a nicer way to do that in D?
Yes. My rule: don't use pointers unless doing it otherwise is
really slow or really hard.