[討論] 關於for的變數宣告

看板C_and_CPP (C/C++)作者 (藏)時間15年前 (2011/06/24 20:09), 編輯推噓12(12015)
留言27則, 15人參與, 最新討論串1/2 (看更多)
我最近不斷被同學提醒for的寫法 我原本的寫法 for(int i=0 ; i<n ; ++i) for(int j=0 ; j<n ;++j) 同學一直覺得這樣太慢 一直跟我說可以改成 int i,j; for(i=0 ; i<n ; ++i) for(j=0 ; j<n ; ++j) 雖然我知道是有點無聊的問題 不過大家對於這兩種寫法有什麼見解嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.29.85

06/24 20:10, , 1F
太慢? 你問一下他的"太慢"是什麼意思 @@
06/24 20:10, 1F

06/24 20:10, , 2F
我個人感覺不出來有什麼慢的
06/24 20:10, 2F
※ 編輯: chengen0402 來自: 140.112.29.85 (06/24 20:18)

06/24 20:26, , 3F
就變數life-cycle 前面"理論上"慢一點點點
06/24 20:26, 3F

06/24 20:27, , 4F
說實在這沒什麼好討論的 理論上優化以後都一樣才對
06/24 20:27, 4F

06/24 20:28, , 5F
一個是每次loop都要宣告一次 一個是先宣告完再做
06/24 20:28, 5F

06/24 20:29, , 6F
不同時代的人, 沒啥好爭 XD
06/24 20:29, 6F

06/24 20:30, , 7F
只是比這個沒意義呀--好方法比起優化爛方法還來的重要
06/24 20:30, 7F

06/24 20:30, , 8F
就好像有人寫C++硬是要把所有定義擺最前面一樣
06/24 20:30, 8F

06/24 20:38, , 9F
應該是沒碰過真的慢的那種寫法或問題 XD
06/24 20:38, 9F

06/24 20:39, , 10F
要不然, 請他提供數據慢多少好了 (認真喝茶)
06/24 20:39, 10F

06/24 20:41, , 11F
C寫習慣後,真的會習慣先把所有東西都定好,很難改。
06/24 20:41, 11F

06/24 21:41, , 12F
我習慣前者......
06/24 21:41, 12F

06/24 22:40, , 13F
我比較愛前者,直覺上好控制.
06/24 22:40, 13F

06/24 22:44, , 14F
重複使用是美德, 但是不同情境下迴圈計數器代表的涵義
06/24 22:44, 14F

06/24 22:45, , 15F
是不同的, 這意味著名稱也要跟著換, 但是對只管有沒出
06/24 22:45, 15F

06/24 22:46, , 16F
產程式的人來講這些是沒用的
06/24 22:46, 16F

06/24 23:12, , 17F
所以要講究環保XD
06/24 23:12, 17F

06/24 23:40, , 18F
毫無道理...這實在是個小地方
06/24 23:40, 18F

06/25 00:51, , 19F
第二種根本不會比較快而且還造成自己的麻煩
06/25 00:51, 19F

06/25 01:07, , 20F
其實也不會很麻煩,在ANSI C裡 就要這樣寫 :)
06/25 01:07, 20F

06/25 01:08, , 21F
而且說不定在n很大的時候就有差喔
06/25 01:08, 21F

06/25 01:16, , 22F
n 很大的時候有什麼差= = 只是 scope 不同而己
06/25 01:16, 22F

06/25 01:16, , 23F
好比說二維陣列處理 用不同方向處理 是有差別的 :)
06/25 01:16, 23F

06/25 01:29, , 24F
C99 就可以用第一種寫法了
06/25 01:29, 24F

06/26 16:12, , 25F
你同學真的有點無聊XDD
06/26 16:12, 25F

06/26 22:13, , 26F
如果上面的 i, j 是 STL 的 iterator 呢? 還是沒差嗎?
06/26 22:13, 26F

06/27 12:02, , 27F
沒用過第一種寫法.........
06/27 12:02, 27F
文章代碼(AID): #1E17v_rP (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1E17v_rP (C_and_CPP)