Re: [問卦] C++到底難學在哪裡
※ 引述《iLeyaSin365 (365)》之銘言:
: C++是物件導向,比C困難吧?
: 打開Cpp語言的程式碼
: 我看到的不外乎質樸的for循環、
: 列印的語法、函數、參數。
: 雖然覺得C++看來看去就是類似的感覺,甚至比javascripts感覺更簡陋一些。
: 好像會陡然上升墜五里霧。
: 如果拿有C語言體質的rust相比,
: Rust看起來好像更深奧(更多概念)。
: 到底C++難在哪?
:
因為C++有太多一不小心就會出事的細節。
舉個常見的例子:
今天有個vector<T>
你從vector拿T&出來用的同時,另外一條thread正在push_back到vector裡,碰巧觸發vector的array resize,原本存在heap的資料統統copy到新的memory address,你的T&就會拿到垃圾值,seg fault油然而生。
C++多的是這種應注意而未注意的小細節,連老手寫都會忘記,更何況是新手?
--
C++難在指標吧 我覺得指標頗麻煩
每次看都覺得又有其他想法
講到這個我就氣 一開始真的找不到為什麼
指標c 就有了....
也可能我學的不是很全吧 我是自己拿書來
看的
你這是race condition 啊
就算沒有race也會發生。單一thread拿reference然後push_back也會發生這種事。
※ 編輯: muse87131 (71.230.161.115 美國), 03/05/2023 12:11:36記憶體不夠用喔!?跟日本買吧~~
是不會用lock
工啥小啦
處理器不是記憶體喔~~
等等你的vector 動不動就resize?
vector滿了就會resize成2x容量。如果大量push_back,初期會觸發不少resize。
對於STL的reference最好還是用STL自帶
的 不要自己去取址
我寫過for (T& : vector)然後就爆了…因為這個for裡面還在push_back
要速度快需要注意的點就多
程式寫得好要飯要到老
為什麼不好好讀documentation呢?
所以你讀了哪個documentation?
※ 編輯: muse87131 (71.230.161.115 美國), 03/05/2023 12:31:26你在for迴圈還去動陣列 在哪裡都會出事吧
python也會啊 結果一直加element 一直爽
官方文件啊 不就有一欄告訴你哪些造成
會 iterator invalidation
不太懂,你是說大量push_back會讓vect
or invalid??
還是你把iterator當成pointer在用?
所以我都用vector<T*>
C++那個template才真的很頭痛XD
你們說的 我怎麼都不懂
你這種用法我通稱 用法習慣不好
根本埋雷給別人
確實蠻容易發生的 如果你一定要這樣寫
的話 但理解到這個程度應該也知道要怎
麼避免吧
這就沒學好資料結構啊 學過理論都知道
vector的標準實作一定有resize
就很多人自以為學校教的東西沒屁用
然後出去寫出一堆bug直接炸裂
請說明C++的多型
我看了什麼推文?
哪國語言不會這樣?rust就不會 ㄏㄏ
要幹這種事情麻煩包裝成get, set
然後加上thread lock,不然出錯真
的很麻煩。
14
首PoC++是物件導向,比C困難吧? 打開Cpp語言的程式碼 我看到的不外乎質樸的for循環、 列印的語法、函數、參數。 雖然覺得C++看來看去就是類似的感覺,甚至比javascripts感覺更簡陋一些。42
: 看到標題我就想問,C++是不是沒那麼適合新手學啊? 我資工大一上程設就C++,那時候用的是螞蟻書 之後不知道是我沒天分,還是教授講太爛, 學期中講到pointer我就聽不懂,直接斷然轉學2
那個啦 小妹我台大鈴木愛理啦 小妹我幾年前大學一開始就教C++ 我覺得難的地方就是物件導向而已 跟常常會seg fault而已(雖然我覺得這是我的問題) 不過學完之後 再去寫python之類的10
指標不熟,單純就是練的不夠多,練多了就會知道這東西是什麼 你只看書上描述當然看不懂,直接跳下去寫就知道了 例如 int main() {9
程式語言主要就是拿來告訴電腦你要他做甚麼 C++是一個給你很多能力來控制電腦效能或是達到硬體極限的語言 我自己的經驗 是在學校的時候只有碰過C++03 離開學校後有三年沒有碰C++ 主要都在寫Python 那時候只覺得Python真美好 很多東西寫起來就像是Pseudo code一樣12
物件導向,這裡是機掰客家人的啦。 ※ 引述 《iLeyaSin365 (365)》 之銘言: : : C++是物件導向,比C困難吧? 個人是覺得物件導向比較簡單,4
看這篇真有既視感 答案就是"你不適合寫程式" 寫程式跟打球.畫畫.考試其實很像 超吃天份的 不知道很多人在撐什麼...... 你如果連指標都聽不懂 後面的繼承多型封裝要怎麼辦 不過我也是到後面就放棄的人啦XDDD 這行很吃天份 而且取代性很高 沒有熱情真的不要撐 (PS:所謂的熱情是有辦法跟打麻將一樣 程式寫不出來可以三天三夜一直坐在電腦改code)2
其實相比之下,C 反而比較難寫;難寫的原因在於你自己要處理很多東西。舉個簡單的例子 ,今天你要寫一個程式,記錄從另一個程式丟過來的資料。直到收到命令之前是不能存檔 用 C++ 就 vector 爽爽用。用 C 你要考慮設計一個處理資料量不一的結構,然後再考慮一 個不知要暫存多少筆資料的方法。別的不說,光是要確保你的程式不會造成 memory leak 就 很不容易了。如果還要你加上排序這種功能,真的很累。不只寫程式的人累,接手的人更累1
要? : (PS:所謂的熱情是有辦法跟打麻將一樣 程式寫不出來可以三天三夜一直坐在電腦改cod e) : 我記得大三那年班上來2個轉學生 : 一個是會計系的 一個是學西班牙文的6
同意你說的,寫程式確實天分有差 我跟很強的博士班親戚爭論過這點,對他來說 他覺得可以通過努力跟學習 對我來說,他就是有興趣、有天份加上肯努力的成功典範 而我,只是半調子,能過就好
23
Re: [新聞] DCNS 擊敗蒼龍,獲得澳洲潛艇合約手機CNN app跳出這條新聞,所以轉貼一下: Biden and UK to help Australia acquire nuclear submarines in new pushback on China The US and UK plan to dispatch technical and strategic teams to identify the12
Re: [討論] 寫三元判斷式code review被打槍從 C++ 的角度來說 三元運算子有機會改變 l-value/r-value 的性質,進而破壞最佳化 舉個簡單例子 可以看到用三元運算子的時候,回傳區域變數竟然要 copy 而不是 move 雖然說 Java 沒有這些13
[閒聊] C7H 4301 support Ryzen 3000 SAM共碩 C7H 讓3000系u也上SAM了 版本 4301 2021/03/29 15.48 MBytes ROG CROSSHAIR VII HERO BIOS 43019
Re: [新聞] 保時捷電動車起火!車主無法開門慘遭燒說還是油車安全的 難道你車子上鎖後出車禍會幫你解鎖嗎? 不解鎖外面要怎麼開? 好吧...還真的會解鎖 我之前接觸的案子是如果安全氣囊有爆就會強制解鎖 所以我相信porsche, bosch, vector之類的廠商一定會注意到氣囊不爆也要解鎖的情況 車車回廠升級一下控制元件就很安全 電動車跟飛機一樣 99%的情況絕對是很安全1
[問卦] 為什麼要叫「中斷向量表」?IVT, Interrupt Vector Table, 中文名為中斷向量表。 用於在發生中斷時找出對應的 ISR。 問題來了,為什麼要用 vector 而不是例如 handler 呢?也就是 Interrupt Handler Tabl e。有相關典故嗎? 是因為向量代表指向某個地方,所以這邊用來當作從 IVT 指向對應 ISR?2
[情報] 7星發表A520M Bazooka/B550M Vector根據TechPowerUP消息 7星發表了兩張新的AMD丐板 分別為: MAG A520M Bazooka Wifi以及B550M Vector Wifi MAG A520M Bazooka Wifi2
[情報] Xigmatek VECTOR S 1200W 80+便宜賣PChome 便宜賣 FMF 代理 ★原價$4790 Xigmatek VECTOR S 1200W 80+銀牌 電源供應器 全模組化設計 高達89%轉換效率1
Re: [討論] 學校所學有銜接社會嗎軟體工程課 : 資料庫資料的正確性控制(交易應用)和index設定 分散式系統課提到不同 consistency model 跟不同 lock 所能應對 transaction 上不同 情況的問題 資料庫課也會再提到,還會提 index 如何做的, b 系列的樹,多執行緒時如何加鎖等等
爆
[問卦] 鏡週刊遭threads愛台網友出征爆
Re: [新聞] 建中校友宴竟吃「香鮑佐蘿莉」!他痛批:爆
[問卦] 抽獎又作弊?爆
[問卦] 醫生太棒了吧==爆
Re: [新聞] 釋出3,753億元 財政部:嚴重衝擊中央財政爆
[爆卦] 麥當勞重北一S50前員工遭性侵自殺爆
[問卦] 年薪百萬,到底有多爽阿= =.....?64
[問卦] 認真文 聽說明天保證會起訴了!63
[問卦] 小火鍋霸主是???63
[問卦] 志祺77要跟誰打拳上流量才會高57
[問卦] 為什麼一定要出國考察爆
Re: [問卦] 長大後發現父母原來是89/O麻會怎樣?50
[問卦] 真正的老人:以前100元很大43
[問卦] 韓瑜曾菀婷陳珮騏該怎麼選47
[問卦] 本田 日產 三菱 合併要叫什麼?61
[問卦] 住家裡但有工作,算啃老嗎= =...?爆
[問卦] Threads:我們是什麼很賤的人嗎?還要上街33
[問卦] 這麵+飯要430元?☺65
[問卦] 值得買的樂高組合☺27
[問卦] 一粒為何不紅了?30
[問卦] 8800億前瞻花去哪了?30
[問卦] 讀莊敬高職一律當作8+9可以嗎27
[問卦] 30歲拿不出五萬塊算很可悲嗎==?26
[問卦] 玉里是什麼樣的地方?27
[問卦] 認真文 為什麼輝達員工不想去南部爆
[問卦] 耶誕城那麼狂的嗎?23
[問卦] 樓上漏電會讓浴室燈閃爍嗎?27
[問卦] 明年的鮮奶會比較便宜嗎?22
[問卦] 統神吵到鄰居態度才是正確的吧?45
[問卦] 安卓市場只剩三星手機能打了?