Re: [討論] 宣告同時給初值
看板C_and_CPP (C/C++)作者littleshan (我要加入劍道社!)時間14年前 (2012/06/02 16:12)推噓0(0推 0噓 1→)留言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
06/02 17:32, 1F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章