Re: [請益] C++新手入門書推薦

看板Soft_Job作者 (Grey)時間7年前 (2017/03/31 09:51), 編輯推噓13(13010)
留言23則, 13人參與, 最新討論串7/8 (看更多)
※ 引述《killer5039 (hjfcjgf)》之銘言: : 大家好 : 小弟最近想要學C++為以後求職工具 : 由於是完全沒學過的新手 想說先自學一陣子在去補習班 : 想請各位推薦幾本C++初學者的書 : 另外有沒有跟我一樣的前輩可以分享一下呢 C++目前領域大概是下列這幾種 遊戲/影像處理/聲音處理/壓縮/CUDA .. 或者對效能很要求的 寫 C/C++ 最大優點在於記憶體, 但最大缺點也是在記憶體, 當一個案子越來越大時, 找 memory leak 跟 crash 的時間並 沒有想像中少. 當然有很多工具, 但比起有記憶體回收的語言就 是得花時間找 C++ 只是更複雜而已, 一群專家? 做了一堆 template ... (跟一堆 其實我也不是很清楚的標準,抱歉資質駑鈍). 若工作沒有限定 C++ 只能 使用到哪些 C++ 標準, 我認為co-work會非常混亂. 但這邊還只是 公司內部還沒有提及公司與其他公司的co-work. 目前 python/golang/swift 有程式語言簡單化的趨勢, 但 C++ 卻 有複雜化的可能, 這也許跟他的歷史包袱有關. - 建議從C學起瞭解記憶體,瞭解計算機架構,呼叫一點system call, 有時間在玩玩 thread, mutex 還有自己寫一寫 linked-list, stack 等這些都 OK 後再來就是接觸 open source lib, 怎麼使用, 怎麼聯結 , 怎麼呼叫, makefile 怎麼寫並且還可以接受之後再談C++我認為比較實際. 簡單說不要把學C++當成一個終點. 那只是一個開始而已. 但若只是開始 C 會 更容易些. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.230.23.181 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1490925066.A.EF9.html

03/31 09:54, , 1F
C/C++很常遇到stack frame損毀的事,如果第三方API用
03/31 09:54, 1F

03/31 09:55, , 2F
夠多的話,當掉還好,就怕沒當掉只破壞返回值
03/31 09:55, 2F

03/31 10:00, , 3F
其實最麻煩的還是破壞到沒用到區域,但確不會crash
03/31 10:00, 3F

03/31 10:01, , 4F
若再加上thread的種種不確定性, 真的容易讓人抓狂阿
03/31 10:01, 4F

03/31 10:49, , 5F
同意此觀點,C可以讓人學習到更多細節,C++則是方便快速開
03/31 10:49, 5F

03/31 10:49, , 6F
發,但是現在Python似乎也很快速XD
03/31 10:49, 6F

03/31 13:07, , 7F
Memory leak 的話,就盡量用smart pointer囉
03/31 13:07, 7F

03/31 13:52, , 8F
C++不算開發快速吧 但是一些好用的特性比c多很多 又比
03/31 13:52, 8F

03/31 13:52, , 9F
其他語言快一點
03/31 13:52, 9F

03/31 16:16, , 10F
C++11 也有GC機制了阿 而且還有 move semantics
03/31 16:16, 10F

03/31 16:42, , 11F
所以它就越來越不像低階語言,有點四不像
03/31 16:42, 11F

03/31 18:36, , 12F
11沒有GC吧,你說的那個minimal GC最後我記得取消了
03/31 18:36, 12F

03/31 20:05, , 13F
smart pointer?
03/31 20:05, 13F

03/31 20:37, , 14F
C like 是效能。
03/31 20:37, 14F

04/01 14:48, , 15F
shared_ptr就是GC機制
04/01 14:48, 15F

04/02 01:18, , 16F
smart pointer跟GC還是有點不同吧 GC你無法掌控何時記憶
04/02 01:18, 16F

04/02 01:18, , 17F
體會被清除 smart pointer只要沒ref count當下就會清
04/02 01:18, 17F

04/02 05:39, , 18F
Smart pointer 不是gc吧
04/02 05:39, 18F

04/02 05:41, , 19F
而且stroustup 本人就不喜歡gc 他喜歡RAII
04/02 05:41, 19F

04/02 07:31, , 20F
正確來說smart ptr是RAII加資源所有權判斷
04/02 07:31, 20F

04/03 00:46, , 21F
shared_ptr不是GC拉 到底有沒有學過C++11啊 不懂不要亂教
04/03 00:46, 21F

04/04 08:35, , 22F
會說 shared_ptr 就是 GC 的,不是不懂 shared_ptr 就是
04/04 08:35, 22F

04/04 08:35, , 23F
不懂 GC
04/04 08:35, 23F
文章代碼(AID): #1OtROAxv (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1OtROAxv (Soft_Job)