C语言多级指针
起因
在更新.Net Runtime源码的时候,发现Mono最近修改的代码,看到指针还可以这样用.不过这个多级指针可读性真的不太好.多级指针
if (sig->ret->type != MONO_TYPE_VOID) {
if (info->ret_box_class) {
if (sig->ret->byref) {
return mono_value_box_checked(info->ret_box_class, *(gpointer*)retval, error);
}
else {
return mono_value_box_checked(info->ret_box_class, retval, error);
}
}
else {
if (sig->ret->byref)
return **(MonoObject***)retval; //多级指针
else
return *(MonoObject**)retval; //多级指针
}
}
else {
return NULL;
}
秋风
2021-05-11