C 为指向函数的指针编写getter
我有以下问题: “列表c” 从结构返回“析构函数”的函数的签名是什么? 例如,返回“size”的函数的签名是: “析构函数”的情况如何。这将起作用:C 为指向函数的指针编写getter,c,encapsulation,C,Encapsulation,我有以下问题: “列表c” 从结构返回“析构函数”的函数的签名是什么? 例如,返回“size”的函数的签名是: “析构函数”的情况如何。这将起作用: typedef void (*Destructor)(void *data); Destructor getDestructor(); 这将有助于: typedef void (*Destructor)(void *data); Destructor getDestructor(); 一般形式: void (*get_destructor())
typedef void (*Destructor)(void *data);
Destructor getDestructor();
这将有助于:
typedef void (*Destructor)(void *data);
Destructor getDestructor();
一般形式:
void (*get_destructor())(void *data);
确切的形式取决于get_析构函数应该采用的参数。如果只是从struct nmlist_s的实例返回析构函数指针,那么
void (*get_destructor(struct nmlist_s list))(void *data);
一般形式:
void (*get_destructor())(void *data);
确切的形式取决于get_析构函数应该采用的参数。如果只是从struct nmlist_s的实例返回析构函数指针,那么
void (*get_destructor(struct nmlist_s list))(void *data);
谢谢,语法有点奇怪,但这就是我要找的。@nomemory:语法是归纳的。它的意思是:
get\u析构函数
是这样的:当应用一些参数时(因此get\u析构函数
是一个函数),它返回一些可以应用的东西(函数返回一个指针)。该*
的结果是可以应用类型为void*
的参数(指针是指向函数的指针)。应用该参数将生成类型为void
,即nothing的内容。总而言之:get\u destructor
是一个函数,它接受一些未指定的参数,并返回指向函数的指针,该函数接受void*
,但不返回任何内容。@Thomas Pornin,感谢您的澄清,现在事情清楚了。谢谢,语法有点奇怪,但这就是我要找的。@nomemory:语法是归纳的。它的意思是:get\u析构函数
是这样的:当应用一些参数时(因此get\u析构函数
是一个函数),它返回一些可以应用的东西(函数返回一个指针)。该*
的结果是可以应用类型为void*
的参数(指针是指向函数的指针)。应用该参数将生成类型为void
,即nothing的内容。总而言之:<代码> GETYAXPLANTROR 是一个函数,它需要一些未指定的参数,并返回一个函数,它使用了<代码> Value*/Cuth>并返回任何东西。@ Thomas Pornin,谢谢您的澄清,现在事情已经很清楚了。C++中尝试编写C++吗?我不羡慕你。@ T.E.D.实际上是非常令人心旷神怡的:)C++中试图写C++?我并不羡慕你。@T.E.D.实际上非常令人神清气爽:)。