❶ 【求助】C++算術溢出的捕獲與處理問題!
反對最佳答案做法。編譯器可以把if(a<0)這句優化成if false從而不執行這個語句,這樣做是符合C++標準的。如果非按最佳答案的寫法要檢測運算上溢,必須調整-Wstrict-overflow和-fwrapv編譯選項才能保證代碼不出錯。明確回答樓主:不能檢測。目前主流的編譯器只有Clang實現了算術上溢檢測,而且只用於調試目的,不可用於生產。