看板 C_and_CPP 關於我們 聯絡資訊
: 小弟原本是想直接訂購 : 大家所推薦的 primer : 但是有的說很難 有的說 不適合沒碰過語言的 : 小弟的狀況是 : 會fortran 想學C++ : 在圖書館借過一本C語言入門 大概懂一些不同之處的語法 : 想在這請各位推薦我一本書 <不小心打了很多(滿紙荒唐言,一把辛酸淚...) ,可以直接看最後的部分> 基本上一般 C 語言的書,重點是強調陣列和指標的部分, 再來是字串的使用。 函式指標(function pointer)很少中文書有提及。 K&R 的 "The C Programming Language" (蔡神有翻中譯本) 有了函式指標的概念後,遇到 C++ 的函式物件(function object)才不會 一片茫然。(小弟當初看到此物花了很久的時間在思考此物是物件還是函式...) C++ 的書基本上就那兩本聖經本 "The C++ Programming Language" by Bjarne Stroustrup (葉秉哲有翻譯) "C++ Primer" by Stanly B. Lippman (侯捷有翻譯) 一個是C++語言的發明者寫的,一個是第一個實作出 C++ Compiler 寫的。 這樣大師級的人物寫的書當然要看了。 不過跟板上的大大討論的一樣,這兩本書都不太適合初學者 (抱著死命狂 K 的強者不在此限)。我覺得這兩本有點像是工具書, 畢竟 C++ 語言本身就很複雜(這也是有趣的地方)。 例如我程式部分需要做例外處理 (exception handling), 基本的使用方式我大概不需要書就可以自己打出來,但是如果我要自己寫 自己的 "error class" ,或是在建構式初值列中想要捕捉例外的話要怎麼做, 我就會沐浴更衣,請出 primer,翻到相關章節請求支援 XD 所以剛學 C++ 的其實可以去市面上找些較有親和力的書翻一翻, 比較有 sense 後,在去找上述兩本書來看。 我自己學語言的過程中算是蠻不順的 (也許因為是太晚才當此板的鄉民吧 ╮(﹀_﹀")╭ ), 那時候看的是市面上隨便一本中文的 C++ 教科書, 講來講去都在講 console 程式。於是我對於 GUI (圖形化介面) 程式, 有著莫名的無力感。(也就是完全沒 sense),再來是神祕的 printf or cout, 它到底是怎麼執行的,再來就是我們像我們逛網站的時候常常要下載甚麼 ActiveX, 又或是網路程式,資料庫程式... 甚麼是 makefile fork thread 同步問題是甚麼問題.. 那時候覺得整個世界混沌狀態的... 不知道是否有初學者會遇到我這樣的問題。 當初我把上述的功能都推給 C++,那當然會整個搞混。 我沒有把語言和OS切開... C++ 本身不支援 GUI, thread。不過有個很重要的內建 library 叫做 STL... 至於 GUI,就要用 OS 支援的 API 了 (linux 的情況是用 XWindow,沒玩過 ><") 可以先看此書 "Programming Windows", 5th Edition, by Charles Petzold 玩玩看,這是用 C 語言的方式呼叫 winapi,寫了幾個 win32 程式後, 可以開始玩玩用 C++ 包裝win32api 的 MFC library,推薦的書是 "深入淺出 MFC" by 侯捷 至於應用程式跟 OS 的運作關系 我這裡推薦一本暢銷書, "程式設計師的自我修養:連結、載入、程式庫" by 俞甲子、石凡、潘愛民 可以告訴你 printf 的來龍去脈,甚麼是 runtime library。 so... 要寫個 real world program 真的是很不容易, 對於初學者來說更是不知道要走向何方... 最近不小心發現一本書,看了之後不禁愴然涕下... (如果老子剛開始學程式時看了這本書多好...) "Programming -- Principles and Practice Using C++" by Bjarne Stroustrup 這本書是寫給初學者的,不是工具書,適合重頭讀到尾 (小弟正在品味中) 大師的文筆,嚴謹中又帶些幽默,最重要的是整個書的布局, 慢慢的引導你如何 think as a programmer ... 可惜目前不知有沒有中譯本 (若是翻不好不如看原文) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.19.175
softwind:對齁 還有最後一本新出的書 可能可以考慮 至少它是全彩的 02/07 13:00
snoopy0907:學C++是一條漫長的路..因為有很多東西值得鑽研 02/07 13:55
snoopy0907:小弟也是前陣子才K完PRIMER..目前都在找題目練習 02/07 13:57
snoopy0907:建議還是從簡單的書看起~primer適合有基礎的人再看 02/07 13:58
snoopy0907:對你難度適中的書..小弟推深度學習C++ 子由老師出的 02/07 14:02
snoopy0907:雖然裡面有些部分寫的有點囉唆..但觀念大致還蠻清楚的 02/07 14:03
snoopy0907:以前讀過這本..所以接觸PRIMER時還算可以馬上上手~ 02/07 14:05
operationcow:Linux用gtk寫GUI application應該比較合適 02/07 14:13
dos792:轉qt吧,最近對岸強推。使用者倍數成長 02/07 16:38
horngsh:我建議用GTK, QT寫成商業化是要$$的... 02/08 13:27
spider391:我最近在用 wxWidgets 可以 source code 跨平台 02/08 16:23
remmurds:無論GTK或QT都比MFC好上數百倍 別再陷害新手去學MFC了 02/09 12:52
clubboxvista:Qt 已經 LGPL 囉  要好上手建議 PyQt 02/12 23:29