Re: [討論] 宣告同時給初值

看板C_and_CPP (C/C++)作者 (我要加入劍道社!)時間14年前 (2012/06/02 16:12), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《wzbird (大鳥)》之銘言: : 其實比較像閒聊啦, 不過這邊沒有閒聊可以選 : 最近發現兩種coding style : 第一種是會在函數前面宣告變數, 等到要用到的時候才給他初值 會這樣做是因為 C90 規定變數只能宣告在 block 的最開頭 但其實這並沒有什麼好處 因此 C++ 和 C99 都消除了這個限制 : 我想這兩種寫法應該是都可以, 只跟可讀性有關吧? : 但是這邊的可讀性又不是會看不下去那種, 只是習慣問題. : 不知道大家的習慣如何? 用到時才宣告並給初值是比較好的 style 一來這可以避免你忘記初始化 二來使用 class 的時候你也只能在宣告時初始化 第三個理由是原則上變數的 scope 愈小愈好 用到的時候才宣告不但比較節省資源 該變數也比較不容易被其它地方誤用 : ==== : 補充一下 : 我看到第二種寫法那套code 他連for loop一定先給值 : 他的for loop 會這樣寫 : int func() : { : int i = 0; : /*other code*/ : for (; i < MAX; i++) : { : /*do something*/ : } : } : 所以這樣是比較嚴謹的方法嗎? : 可以避免i 沒有宣告到之類的 我會寫 for(int i = 0; i < MAX; i++) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.77.184

06/02 17:32, , 1F
for裡面有declaration c89也不行XD
06/02 17:32, 1F
文章代碼(AID): #1FoShPpf (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #1FoShPpf (C_and_CPP)