看板 C_and_CPP 關於我們 聯絡資訊
小弟在書上看到一段不同程式語言對overflow處理的敘述 以下節錄片段 Some languages(e.g., C) ignore overflow. Other langauges(e.g., Ada, Fortran) require raising an exception 因為沒接觸過有 overflow exception 的語言 一直都認為是程式設計師需要自己注意 想問的是,既然程式語言的設計可以做到 overflow 的 exception handling 那麼為何像 C語言這類的語言要保留可能會overflow的空間呢 一直想不太明白 不知道各位有沒有什麼看法 感謝 -- 不確定這篇發在本版是否合適 若有不妥還請版主幫忙刪除,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 134.208.35.188 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1560875382.A.BC8.html
Schottky: 看 CPU 有沒有 bounds checking 的指令啊06/19 01:07
Schottky: 而且它會影響效能,自動做 bounds checking不見得是好事06/19 01:09
Schottky: 以前曾經有個同事可能第一次寫物件太興奮,每個運算元06/19 01:10
Schottky: 存取資料都加上邊界檢查值域檢查,最後效能整個悲劇....06/19 01:12
sarafciel: 寫code跟開車一樣 安全跟速度這兩件事是有衝突的06/19 01:20
CCWck: 以c而言,字元交換若使用xor法,不處理overflow反而比較簡06/19 02:49
CCWck: 潔06/19 02:49
感謝 大致了解了 也就是說在追求效能的情況下 省去了overflow的檢查來提升速度
moebear: 我之前演算法剛學vector 狂用at 然後有一題一直不知道為 06/20 04:38
moebear: 什麼TLE 最後考完我回宿舍想很久發現應該是at太久了 06/20 04:39
moebear: 一題好像25分 QQ 06/20 04:39
killer0418: 回 moebear 大大 應該是你不斷塞東西進 vector 到某 06/21 22:28
killer0418: 個大小需要搬移才會太久 06/21 22:28
RishYang: vector使用須知,使用前請預先預留空間 06/22 00:17
dces4212: C語言把你當成電腦的主人 上個C沒寫好導致溢位的人讓火 06/22 04:57
dces4212: 箭掉下來qq (認真 06/22 04:57
sarafciel: 樓上講的那個是Ada吧 還是又有其他火箭失事了XD 06/22 08:46
※ 編輯: hohamita (134.208.250.73 臺灣), 06/23/2019 22:00:41