看板 C_and_CPP 關於我們 聯絡資訊
在寫 local funciton 目前有遇到兩種寫法 (一) static void foo(void) { printf("foo function\r\n"); } int main(void) { foo(); return 0; } (二) static void foo(void); int main(void) { foo(); return 0; } static void foo(void) { printf("foo function\r\n"); } 自己是比較偏好第一種寫法 當改寫foo的參數時 不用再多改declaration 請問 第二種寫法的好處為何? 這兩種寫法, 哪種寫法較常被使用? 對於 compiler 所需要 compile 的時間, 會有差嗎? 謝謝 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.160.66
MaxHaru:我也想知道, 現在只知道這樣main()可以放在最上面..@@" 04/16 09:30
azureblaze:如果foo裡頭呼叫bar bar裡頭又呼叫foo 04/16 09:53
azureblaze:你就非得用第二種 因為他們不可能同時寫在對方前面 04/16 09:54
purpose:C++ 的原則是,使用 foo() 這種樣式的函數調用之前,要嘛 04/16 09:55
purpose:曾經定義,要嘛曾經宣告。但另外一個原則是 "定義只能有 04/16 09:56
purpose:一個",所以通常會使用宣告。久之,宣告多了,就變標頭檔 04/16 09:57
diabloevagto:我都用第二種,這樣一開檔馬上就知道有那些func 04/16 12:48
diabloevagto:你只有一個沒感覺,如果你有幾十個就有差了 04/16 12:49
Raymond0710:常用的是2 宣告在標頭檔裡 04/16 14:11
loveme00835:宣告放標頭檔 04/17 13:35
tinlans:答案是隨便你,local function 重要性不是那麼大。 04/19 11:49
tinlans:對編譯時間沒有什麼影響。 04/19 11:50