int double_address foo; /* ? */
Or is it n steps away from ProducerObserverFactoryStragedy? int double_address foo; /* ? */
Or is it n steps away from ProducerObserverFactoryStragedy?To get the address of an object you use the unary 'address of' operator '&'.
His macro was #define address *
The * is a pointer. You can declare a variable of type pointer to T with as many indirections as you want. int * * * * * * foo is fine. But you also use it to deference your object. bob = * foo;
You can't practically have a different name for each level of indirection to what ever the IS0 standard/Compiler limit is for * .
Also you end up with nasty indirections like this.
**(*((struct foo*)(*bob.x))).y
Its nasty enough as it is without trying to name each pointer indirection.