下面代码中的
(*(const object_def_t **) obj) = def; 这一句是干嘛用的?
obj是一个指针,(const object_def_t**)obj是什么意思?
#define DECLARE_OBJECT \
const void* __def__; \
volatile long refCount
typedef struct object_header_s {
DECLARE_OBJECT;
} object_header_t;
object_t *object_new(const object_def_t *def) {
object_t *obj = malloc(def->size);
if (obj) {
(*(const object_def_t **) obj) = def;
OBJECT_HEADER(obj)->refCount = 1;
if (def->constructor){
obj=def->constructor(obj);
}
}
return obj;
}