作者tinlans ( )
看板Programming
標題Re: [問題] 怎麼學好c++?
時間Thu Apr 17 05:58:16 2008
※ 引述《Hylun (秋楓嵐語)》之銘言:
: 小弟剛開始學C++,可是學校之前並沒有先教我們C,
學 C++ 之前本來就不用先學 C。
: 這樣會不會基礎太薄弱導致C++學不好?
不會。
: 我感覺我的解題能力似乎不是很好,是經驗問題嗎?
是。
: 可是我真的想學好,平常的作業我也都很認真的做,不會的就查資料
光做作業是不足夠的...
如果你真的對程式有興趣的話,
一定有所謂「想寫的程式」,
你就把寫出它來當目標就可以了;
如果你是為了興趣以外的原因學習程式,
那我可能無法給任何建議...
: 可是不知道是不是常常找資料的關係,當我獨立面對一個題目的時候,
: 我卻沒辦法很迅速的想到解題方法,然後把程式一次就做對,
: 上機考慘兮兮=口=
看你找的是什麼資料,
基本上我完全不建議你上網找資料,
而是建議你去買書 or 借書來做系統化學習,
先搞懂這個程式語言本身提供哪些功能,
再來看看這個語言的標準函式庫提供了哪些功能,
這樣你就有了足夠的積木,
接下來解決問題就只是堆積木而已;
你上網查資料,
不如直接查標準函式庫的書,
找到可以湊出答案的積木,
最危險的就是你直接上網找「答案」,
這種行為要了很多初學者的命。
: 是不是有人可以分享心得或提供建議,
: 讓我能提升解題技巧和思維呢?
: 真的很頭痛阿= =我很用心在學,可是成效卻相當糟糕...
C++ 的話,
先讀完這三本書:
1. C++ Primer
2. Generic Programming and the STL
3. The C++ Standard Library
沒有別的捷徑,
最起碼要讀過 1. 和 3. 一遍,
否則你的積木就不齊,
積木不齊不代表解不出題目,
只是會多走很多冤枉路。
當然「資料結構」這種學術科目是必學,
不過如果你只是要拿來用的話倒是不需要深入鑽研,
懂得在什麼情況下選擇適當的資料結構即可,
但那都是後來的事情,
因為資料結構的選擇主要是影響程式執行效率,
如果是連題目都解不出來的話先學了也是白搭...
雖然說書有三本要讀,
但是一般來說「語言機制」本身就足以解決各種問題,
所以你讀完 1. 之後基本上已經學到能解決各種問題的積木,
要是你性子很急甚至讀了 1. 的半本就能衝了,
但是冤枉路可能就會走得多一點,
不過也不可否認很多成功者是藉由走過很多冤枉路而變強的。
根據我個人的經驗還有你的文章內容判斷,
目前你最危險的行為大概就是上網查資料...
--
Ling-hua Tseng (
[email protected])
Department of Computer Science, National Tsing-Hua University
Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design
Researching: Software pipelining for VLIW architectures
Homepage:
https://it.muds.net/~uranus
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.223.59
1F:推 mantour:不懂為什麼不能上網查資料@@140.112.213.158 04/17 08:25
2F:→ mantour:網路上不是也有library reference可以查嗎140.112.213.158 04/17 08:26
3F:推 MasterChang:網路資料通常偏於零散,無助初始的學 140.132.23.74 04/17 09:11
4F:→ MasterChang:習。比較適合有基本功的使用... 140.132.23.74 04/17 09:12
5F:推 stonehomelaa:我猜他的意思是上論壇找現成code 140.115.201.59 04/17 10:17
6F:推 ykjiang:新手有書 K ,還是 K 書比較好,快又扎實 122.116.164.67 04/17 12:28
7F:→ ykjiang:我較推薦 The C++ Programming Language 122.116.164.67 04/17 12:29
8F:→ guteres:我來回答一樓 = > 因為懶 122.116.185.64 04/17 12:30
9F:→ ykjiang:尤其是有基礎的,Primer 那本太囉唆了 122.116.164.67 04/17 12:30
10F:→ guteres:加上胃口被養大了 122.116.185.64 04/17 12:31
11F:推 Hylun:謝謝><我會去找那幾本書的 140.130.208.19 04/17 12:43
12F:→ Hylun:不過...要是看原文書還不是很習慣怎麼辦= =꘠ 140.130.208.19 04/17 12:45
13F:→ Hylun:有時候並不是很懂原文的正確的語意= = 140.130.208.19 04/17 12:46
14F:推 final01:那三本都有中文都同一人翻的!頗受好評 140.134.35.51 04/17 13:05
15F:推 godfat:推 220.135.28.18 04/17 13:19
16F:推 pthuang:C How to Programming 的螞蟻書咧?=口=""118.169.103.137 04/17 17:09
17F:推 Hylun:請問這些書都適合幾乎沒基礎的初學者嗎? 140.130.208.19 04/17 17:27
18F:推 tn801534:primer新手看有點難...有點亂跳...218.211.217.211 04/17 18:15
19F:→ tn801534:不過primer有些觀念真的講的很不錯218.211.217.211 04/17 18:16
20F:推 jaw109:Primer給我的感覺就是字典..... 140.127.185.1 04/17 18:57
21F:→ MOONRAKER:C: How to Program很不錯,可以買來K 59.115.211.133 04/17 19:05
22F:→ MOONRAKER:開始的時候好課本買一本就好,多買浪費 59.115.211.133 04/17 19:06
23F:推 wayold:Essential C++ 亦可, 小本多了 122.118.4.24 04/17 19:43
24F:→ tinlans:程式語言是一種規則限制較多的語言,就像 61.230.223.59 04/17 19:46
25F:→ tinlans:你學英文,文法不懂會查文法書,老師絕對 61.230.223.59 04/17 19:47
26F:→ tinlans:不會叫你 Google... 61.230.223.59 04/17 19:47
27F:→ tinlans:正因為規則限制多,所以比自然語言好學, 61.230.223.59 04/17 19:48
28F:→ tinlans:通常一本書教你完整的語法結構就差不多了 61.230.223.59 04/17 19:48
29F:噓 easterday:我推中文版的螞蟻書Version3 59.116.144.96 04/17 22:47
30F:推 easterday:不推螞蟻書英文版Version4 59.116.144.96 04/17 22:51
31F:推 eva19452002:看原文書才是王道,原汁原味140.136.149.183 04/17 23:32
32F:→ eva19452002:若看不懂原文,資訊界也甭想混了140.136.149.183 04/17 23:33
33F:→ eva19452002:如果只是想應付學校課業,翻譯書就好140.136.149.183 04/17 23:34
34F:推 meltice:糟糕 我都是直接上google找答案 118.167.180.97 04/17 23:34
35F:推 Hylun:我也很努力的想看懂原文..可是畢竟剛開始還 140.130.208.19 04/17 23:47
36F:→ Hylun:不很習慣...另問螞蟻書是...? 140.130.208.19 04/17 23:48
37F:→ tinlans:打基礎可以不用勉強使用英文,免得連專業 61.230.223.59 04/18 00:28
38F:→ tinlans:都學不起來,英文也沒增強,還浪費了時間 61.230.223.59 04/18 00:28
39F:→ tinlans:C++ 已經是 well-known 的基礎學科了。 61.230.223.59 04/18 00:29
40F:推 pthuang:螞蟻書就是C How to Programming 會被叫118.169.103.137 04/18 07:12
41F:→ pthuang:螞蟻書是因為那本書上面很多螞蟻的圖案118.169.103.137 04/18 07:12
42F:→ pthuang:現在好像出到第五版了 我比較推英文版118.169.103.137 04/18 07:13
43F:推 eva19452002:也對,對初學者直接看原文太累了140.136.149.183 04/18 09:05
44F:→ eva19452002:先挑一本不錯的中文書把基礎打好140.136.149.183 04/18 09:06
45F:→ eva19452002:話說我一開始也是看中文書沒錯140.136.149.183 04/18 09:06
46F:→ eva19452002:中文書我覺得博碩出的書都很不錯140.136.149.183 04/18 09:07
47F:推 Bencrie:中文書有時候要照字面翻回英文才看得懂orz140.121.213.188 04/18 13:57
48F:推 deepkh:這三版真的讀完 我覺得整個寫程式的熱情都 219.81.205.81 04/27 23:10
49F:→ deepkh:消失了吧 ~ 219.81.205.81 04/27 23:11
50F:→ deepkh:寫程式沒有捷徑 就是 興趣 興趣 還是興趣 219.81.205.81 04/27 23:11
51F:→ deepkh:基本我也只會 C 跟一點 class 而已 219.81.205.81 04/27 23:12
52F:→ deepkh:養成寫程式的習慣 建議就是找些有趣的例子 219.81.205.81 04/27 23:12
53F:→ deepkh:來看 覺得有趣 再用自己的方法實作 219.81.205.81 04/27 23:13
54F:→ deepkh:等有了成就感 相信原 PO自己會找到學習的路 219.81.205.81 04/27 23:13
55F:→ deepkh:為什麼會這樣說?因為 C++ 很龐大耶 沒有人 219.81.205.81 04/27 23:14
56F:→ deepkh:會傻傻的按部就班的學吧 219.81.205.81 04/27 23:14
57F:→ deepkh:若真的有 那真的要拜一下 太強了 orz ... 219.81.205.81 04/27 23:16