作者doublescn (Grey)
看板Soft_Job
標題Re: [請益] C++新手入門書推薦
時間Fri Mar 31 09:51:03 2017
※ 引述《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://webptt.com/m.aspx?n=bbs/Soft_Job/M.1490925066.A.EF9.html
1F:推 loveflames: C/C++很常遇到stack frame損毀的事,如果第三方API用 03/31 09:54
2F:→ loveflames: 夠多的話,當掉還好,就怕沒當掉只破壞返回值 03/31 09:55
3F:→ doublescn: 其實最麻煩的還是破壞到沒用到區域,但確不會crash 03/31 10:00
4F:→ doublescn: 若再加上thread的種種不確定性, 真的容易讓人抓狂阿 03/31 10:01
5F:推 iLinux: 同意此觀點,C可以讓人學習到更多細節,C++則是方便快速開 03/31 10:49
6F:→ iLinux: 發,但是現在Python似乎也很快速XD 03/31 10:49
7F:推 appleway: Memory leak 的話,就盡量用smart pointer囉 03/31 13:07
8F:推 steve1012: C++不算開發快速吧 但是一些好用的特性比c多很多 又比 03/31 13:52
9F:→ steve1012: 其他語言快一點 03/31 13:52
10F:推 Sirctal: C++11 也有GC機制了阿 而且還有 move semantics 03/31 16:16
11F:推 csfgsj: 所以它就越來越不像低階語言,有點四不像 03/31 16:42
12F:推 loveflames: 11沒有GC吧,你說的那個minimal GC最後我記得取消了 03/31 18:36
13F:推 hotdogmc: smart pointer? 03/31 20:05
14F:→ pttworld: C like 是效能。 03/31 20:37
15F:推 Sidney0503: shared_ptr就是GC機制 04/01 14:48
16F:→ sorryla: smart pointer跟GC還是有點不同吧 GC你無法掌控何時記憶 04/02 01:18
17F:→ sorryla: 體會被清除 smart pointer只要沒ref count當下就會清 04/02 01:18
18F:推 steve1012: Smart pointer 不是gc吧 04/02 05:39
19F:→ steve1012: 而且stroustup 本人就不喜歡gc 他喜歡RAII 04/02 05:41
20F:推 loveflames: 正確來說smart ptr是RAII加資源所有權判斷 04/02 07:31
21F:推 kwpn: shared_ptr不是GC拉 到底有沒有學過C++11啊 不懂不要亂教 04/03 00:46
22F:推 johnny94: 會說 shared_ptr 就是 GC 的,不是不懂 shared_ptr 就是 04/04 08:35
23F:→ johnny94: 不懂 GC 04/04 08:35