C_and_CPP 板


LINE

大家好 https://reurl.cc/N6akmq 小弟在寫leetcode第八題的時候 運行程式碼出現這個錯誤 addresssanitizer heap-buffer-overflow 我的程式碼 https://glot.io/snippets/fqanzjusa4 這個程式碼在自己的compiler上會過 而且試過幾種input感覺應該沒問題 就是不知道為何在leetcode上跑會出現那個錯誤@@ 我有試著搜尋一下那個錯誤的意思是什麼 但小弟初學實在有點看不懂... 不知有沒有大大可以簡單解釋一下orz 我程式碼的邏輯: 建三個vector : no_space, no_sign, ans_v 先用no_space把str從第一個非空白的地方開始存起來 再判斷no_space開頭是否有正負號,有的話紀錄下來,然後用no_sign把no_space除了開頭正負號以外的部分再存起來 接著用ans_v把no_sign裡遇到第一個非數字之前的數字部分存下來 最後把ans_v代表的數字計算一下再回傳 感謝各位 ----- Sent from JPTT on my Samsung SM-G950F. --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.14.226.161 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1597585500.A.982.html
1F:推 LPH66: 這個錯誤最常見的原因是陣列存取越界, 特別是容器類的存取 08/16 21:53
2F:→ LPH66: 檢查一下你的 vector 存取會不會在某個奇怪的時候越界 08/16 21:53
3F:→ nh60211as: 你的while(no_sign[i] >= 48 && no_sign[i] <= 57) 08/16 23:12
4F:→ nh60211as: 在全部的文字都是有效數字的時候會讀到no_sign[end+1] 08/16 23:13
5F:→ Killercat: 一個小技巧,STL老問題了 08/16 23:32
6F:→ Killercat: vector少用[]多用.at() 08/16 23:32
7F:→ Killercat: []完全不會做任何檢查 所有的out-of-bound都是undefine 08/16 23:32
8F:→ Killercat: d behavior 什麼奇怪的東西都會跑出來 08/16 23:33
9F:→ Killercat: .at()則會相當盡責地做boundary check跟丟std::excepti 08/16 23:34
10F:→ Killercat: on出來,所以別用[]了 08/16 23:34
11F:推 Killercat: https://tinyurl.com/lszrg7v 08/16 23:51
12F:→ Killercat: 看第三段Portable programs......那行 08/16 23:51
13F:→ loveme00835: 為了 portability 更不應該用 at(), 因為在需要效能 08/17 00:09
14F:→ loveme00835: 的時候會因為 at() 快不起來, 而且因為編譯器會產生 08/17 00:09
15F:→ loveme00835: 例外處理的程式碼, 所以也要特別注意介面的設計是否 08/17 00:10
16F:→ loveme00835: 合理, 如果需要檢查建議使用 BOOST_ASSERT() 這類可 08/17 00:13
17F:→ loveme00835: 以切換行為的 contract programming lib, 靜態大小就 08/17 00:14
18F:→ loveme00835: 用 bounded_integer, 到 C++23 時稍微改一下就好了 08/17 00:15
19F:→ loveme00835: 學希佳佳第一件事就是把 cplusplus.com這網站 ban 掉 08/17 00:19
20F:→ Killercat: 這個就看你喜歡哪種風格了,但是undefined behavior絕 08/17 10:09
21F:→ Killercat: 對是最有害的,那麼有把握能做到完全檢查的話,你說的 08/17 10:10
22F:→ Killercat: 應該就沒錯,但是實務上這幾乎是不可能的 08/17 10:10
23F:→ Killercat: 另外我覺得把std::exception視為洪水猛獸...maa,也是 08/17 10:11
24F:→ Killercat: 一種主流學說啦,只是我個人覺得不太贊同就是 08/17 10:11
25F:→ Killercat: 另外其實portability跟效能無關 不然java早就吃屎啦... 08/17 10:11
26F:→ Killercat: 另外BOOST_ASSERT()是個非常好的解決方案,這我贊同 08/17 10:12
27F:→ Killercat: 反正就別搞到不想用std::exception結果跑去setjmp就好 08/17 10:13
28F:→ hydebeast: 感謝各位!問題的確是出在n大講的部分 其他大大的建議 08/17 12:19
29F:→ hydebeast: 我也會去研究一下的m(_ _)m 08/17 12:19







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP