→ ck574b027: 沒發現c++的優點根本沒差嗎,編譯速度到了大專案還不是 06/26 21:39
→ ck574b027: 得去泡咖啡上廁所 06/26 21:39
推 flarehunter: 因為C++的記憶體漏洞太難防了 Rust直接從語言上解決 06/26 21:43
請問C++即便是使用vector這類的安全資料結構,善用智慧指標等各種新特性,依然很難寫出記憶體安全的程式嗎?
※ 編輯: icetofux (111.240.206.52 臺灣), 06/26/2023 21:49:33
→ lycantrope: Rust在compile時就會抓你記憶體漏洞 06/26 21:57
→ ck574b027: 寫得出來跟檢查得出來是兩回事 06/26 22:34
推 CoNsTaR: 建議去讀 linear types 或 quantitative types,Rust 用 06/26 23:00
→ CoNsTaR: 的是 affine types,它和 linear types 的差別在它不強 06/26 23:00
→ CoNsTaR: 制所有值一定都要被 consume 06/26 23:00
→ CoNsTaR: 對比 C++ 你想要怎麼惡搞都一樣給你 type check,反正 ru 06/26 23:00
→ CoNsTaR: ntime 再 crash 給你看,超不負責任 06/26 23:00
推 jheli: compile階段就抓到漏洞總比出事後再debug好 06/27 00:23
→ F04E: 說超不負責的也很奇怪 啊不就是給你方便你當隨便... 06/27 01:11
推 CoNsTaR: 樓上,方便在哪?給了什麼方便? 06/27 02:45
推 oToToT: 個人覺得rust有一定的時間是花在說服編譯器我的code跑起來 06/27 02:52
→ oToToT: 沒問題,C++就沒那麼多規矩 06/27 02:52
→ flarehunter: unique_ptr<T>的物件到函式但沒有要給函式ownership 06/27 08:10
→ flarehunter: 照chromium guide是傳一個raw pointer 06/27 08:11
→ flarehunter: 呼叫函式的人要"手動"保證物件的lifetime夠久 06/27 08:12
→ flarehunter: 如果沒弄好就會有use-after-free的問題 06/27 08:13
→ F04E: 連哪裡方便都不知道了還是別用了XD 06/27 11:16
噓 CoNsTaR: 所以我說和 Rust 比起來方便在哪啊? 06/27 11:27
噓 CoNsTaR: 你說給方便當隨便,那到底方便在哪講出來啊? 06/27 11:30
→ oToToT: to樓上,我覺得我不需要標lifetime說服編譯器我是對的就很 06/27 17:14
→ oToToT: 方便,但當然Rust要標lifetime的情況不是非常常見 06/27 17:15
推 chaos1993: 想請問即使用smart pointer,要怎麼惡搞才可以type ch 06/27 22:50
→ chaos1993: eck過然後runtime crash? 06/27 22:50
→ tinlans: get 它的 raw pointer 出來存到別的物件去, 06/28 02:05
→ tinlans: 再很不小心地由它的解構子 delete 之類的吧 06/28 02:05
→ tinlans: 2 人以上維護的時候有時會出現類似蠢事 06/28 02:06
→ Lhmstu: c++沒有從根本上改善c的缺陷 06/28 08:48
→ MasterChang: 不是程式語言不行,是你不行。 06/30 09:58
→ firejox: 我只希望有一天 Rust 能給我有用的錯誤訊息 06/30 15:16
推 wulouise: rust compile time要求你的lifetime正常,有時候會很卡 06/30 21:42