this

Motivation: Methode soll wissen, für welches Argument sie gerufen wurde

typedef struct {
    int (*data)[3];
    int (*method[5])();
} obj;
obj *o; ... (*(o->method)[3])(o);

int sum (obj *this) {
    return this->data[0] + this->data[1];
}
jede Methode bekommt this als (verstecktes) erstes Argument



Johannes Waldmann 2013-01-28