※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1677989222.A.9A5.html
Re: [問卦] C++到底難學在哪裡
看板 | Gossiping |
---|---|
作者 | muse87131 () |
時間 | 2023-03-05 12:07:00 |
留言 | 0則留言 (0推 0噓 0→) |
: C++是物件導向,比C困難吧?
: 打開Cpp語言的程式碼
: 我看到的不外乎質樸的for循環、
: 列印的語法、函數、參數。
: 雖然覺得C++看來看去就是類似的感覺,甚至比javascripts感覺更簡陋一些。
: 好像會陡然上升墜五里霧。
: 如果拿有C語言體質的rust相比,
: Rust看起來好像更深奧(更多概念)。
: 到底C++難在哪?
:
因為C++有太多一不小心就會出事的細節。
舉個常見的例子:
今天有個vector<T>
你從vector拿T&出來用的同時,另外一條thread正在push_back到vector裡,碰巧觸發vec
tor的array resize,原本存在heap的資料統統copy到新的memory address,你的T&就會
拿到垃圾值,seg fault油然而生。
C++多的是這種應注意而未注意的小細節,連老手寫都會忘記,更何況是新手?
--
就算沒有race也會發生。單一thread拿reference然後push_back也會發生這種事。
※ 批踢踢實業坊(ptt.cc), 來自: 71.230.161.115 (美國)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1677989222.A.9A5.html
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1677989222.A.9A5.html