这个typedef在cpython/Include/object.h中实现了什么

2024-06-26 14:50:08 发布

您现在位置:Python中文网/ 问答频道 /正文

通常typedef的作用是

typedef DATATYPE NEW_NAME

但是,下面的内容有点复杂,似乎与其他一些概念混合在一起(比如tuple-like guy)

typedef PyObject *(*newfunc)(struct _typeobject *, PyObject *, PyObject *);


Tags: name概念内容newstructlikepyobjectdatatype
1条回答
网友
1楼 · 发布于 2024-06-26 14:50:08

这个定义看起来很混乱,因为函数指针一开始很混乱。定义

typedef PyObject *(*newfunc)(struct _typeobject *, PyObject *, PyObject *);

意思是“创建一个名为newfunc的typedef,它是一个接受一个struct _typeobject*和两个PyObject*并返回一个PyObject*的函数。名称位于中间的返回类型之后,与常规函数定义类似:

PyObject *somefunc(struct _typeobject *, PyObject *, PyObject *);

因为它是一个函数指针,所以需要括号和另一个*来表示它是一个指针,并且数据类型在名称周围。你知道吗

相关问题 更多 >