我已經看到了這對我擺弄的程序:靜態常量無效*方法(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