哪個更正確的方式來從函數返回返回:從void函數
void function() {
// blah some code
}
OR
void function() {
// blah some code
return;
}
理由第二種方式:
- 它表達了開發商意圖更清楚。
- 它有助於在預編譯時檢測功能結束:
假設你有這樣的scenario-你有一大堆的功能,你必須在這些功能的最終注入一些代碼。但出於某些原因,您不希望/或不能修改如此巨大的功能。你能做些什麼? Return
& macro
進場,例如:
#include<stdio.h>
#define MAX_LINES 1000
#define XCAT(a,b) a##b
#define CAT(a,b) XCAT(a,b)
#define return returns[__LINE__] = 1;\
if (returns[__LINE__])\
{printf("End of function on %d line.\n",__LINE__);}\
int CAT(tmp,__LINE__); \
if ((CAT(tmp,__LINE__)=returns[__LINE__], returns[__LINE__] = 0, CAT(tmp,__LINE__)))\
return
static int returns[MAX_LINES];
void function1(void) {
return;
}
void function2(void) {
return;
}
int main()
{
function1();
function2();
return 0;
}
有趣的問題,但投票結束,因爲它太主觀,可能會導致一些衝突。可能更好的程序員.stackoverflow.com。還請記住閱讀FAQ。 –
這是一個插入冗餘關鍵字的風格問題。 – stacker
@stacker - 對於一種情況,多餘的東西不適用於另一種情況。 –