我已经看到了这对我摆弄的程序:静态常量无效*方法(c)中
static const void *method()
{
// other code
return anotherMethod(param1,param2);
}
对于我个人理解,这将返回一个指针的函数。现在,基于this,我想弄清楚它是什么static const void
应用于:
int f(void);
int *fip(); //Function returning int pointer
int (*pfi)(); //Pointer to function returning int
那么什么是添加static const
(假设这是适用于看重指定函数的返回的真正优势)。另外,函数的返回指针是否会被调用?或者它只是一个指向它的指针?因为从代码我有以下内容:
void start()
{
method();
}
我假设它将被调用,否则它将被分配给一个指针。
只是一个注释:我相信你会混淆C和C++。在C++中,'start()'表示'start(void)',前者是鼓励风格。但是在C语言中,'start()'意思是“函数接受各种垃圾参数,希望产生微妙的错误”。在C中,你应该总是写'start(void)'。没有参数的函数被标记为C标准中的过时特征,并且可能在将来从语言中删除(参见C11 6.11.6)。 – Lundin
我实际上在一个objective-c上下文中使用,并且该方法的名称完全是任意的。但是,谢谢你的注意.. – Peres