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.

Reply via email to