推 tropical72:littleshan 好強 !! 沒看到真的沒想到, 大推一個 ^^ 08/01 13:23
推 KTFGU:小弟新手問一下 為什麼C比較容易bug 08/01 13:25
推 tropical72:我想多問,一維中 return (a-sx); 是否可能造成 OV ? 08/01 13:27
→ littleshan:會啊,underflow的話就自求多福吧 08/01 13:53
→ littleshan:實際上使用2's complement的系統「應該」還是能動 08/01 13:54
推 tropical72:謝謝解答 *^_^* 08/01 13:55
→ littleshan:然後,C 做不出 smart pointer,多個函式共享資料時 08/01 14:00
→ littleshan:很容易造成 double free 或 memory leak 08/01 14:00
※ 編輯: littleshan 來自: 114.32.15.163 (08/01 14:02)
推 KTFGU:恩 thx~! 08/01 14:12
→ littleshan:稍微做點修正,C可以透過GC來避免上述的問題 08/01 15:02
→ littleshan:雖然會這樣做的人不多 08/01 15:02
推 tropical72:二維筆誤 for(int x = sx; x <= sx (ex) ; ++x) 08/01 15:20
yeah...被抓包了 XD
※ 編輯: littleshan 來自: 114.32.15.163 (08/01 18:09)
推 Favonia:其實不太能這樣寫(調整 a 位置),這樣是未定義行為...:P 08/01 18:29
→ Favonia:光指過去(沒有解參照)也不行。 08/01 18:29
→ Favonia:en.wikipedia.org/wiki/Undefined_behavior 第三個例子 xD 08/01 18:31
→ firejox:你似乎沒看到內文有說這是"違法"的... 08/01 18:42
→ Favonia:內文是說解參照才違法吧?實際上就算沒有解參照還是違法。 08/01 18:52
→ tropical72:( 我手邊數值分析的書該丟了嗎 XD ) 08/01 18:55
→ firejox:他是指指標的位址位移到超出malloc的情況違法 08/01 19:05
→ firejox:話說一維foo 應該是double *vec吧... 08/01 19:12
→ firejox:我不知道你的解參照是指哪邊... 08/01 19:15
→ tropical72:Favonia指的解參照,應即為提取,dereference. 08/01 19:48
→ Favonia:喔別管解參照了,我的意思是說「return a - sx;」未定義。 08/01 20:48
→ Favonia:@tropical72: 對 xD 可能這翻譯太爛了... 08/01 20:49
→ littleshan:C 規定的是 pointer to array element 的計算結果越界 08/01 21:00
→ littleshan:不過malloc回傳的pointer是否也是pointer to element 08/01 21:00
→ littleshan:這點我不確定 08/01 21:00
→ Favonia:我認為有三種可能解讀,第一個是該物件仍然沒有有效型態, 08/02 03:02
→ Favonia:那麼未盡事項算未定義。第二個是因為指標的關係所以該物件 08/02 03:03
→ Favonia:有效型態變成int那指標運算那邊會把它當成大小為1的陣列, 08/02 03:03
→ Favonia:所以還是未定義。第三個解讀是因為指標的關係所以該物件的 08/02 03:04
→ Favonia:有效型態變成int陣列,那麼還是未定義。我個人認為第三個 08/02 03:05
→ Favonia:最合理。C99的「all other accesses」我不知道有沒有包括 08/02 03:11
→ Favonia:這種,但我想不管哪一種解讀都是未定義。 08/02 03:11
→ Favonia:C99 4/2(未盡事宜)6.5/6(有效型態) 還有DR#219的討論過程 08/02 03:16
→ littleshan:不過原po的要求,只能這樣做就是了 (攤手 08/02 10:29
→ Favonia:同意 :( 我也覺得沒有可攜寫法... 08/02 11:33
推 tropical72:嗯,我的確只是好奇這段原碼可能會長怎樣,雖已知設計不 08/02 20:06
→ tropical72:好,但還是會好奇.謝謝指教 *^_^* 08/02 20:06