2009-02-25 25 views
3

C++是一門偉大的語言(imho)。C++最佳學習途徑:只是烏托邦?

但是從C++開始,作爲一種全新的語言來學習,你會建議哪種形式化的路徑?

書籍,網站,任何可以加速學習而不用交換知識和理解記憶和混淆的東西。確實是一條路徑,它以結構化的方式導致C++的知識和理解。

可能嗎?

我在問這個問題,因爲我的一位朋友(php程序員)問我如何正確(和更好地)開始學習C++。


編輯:

謝謝大家對你的興趣和你的主管的答案。我選擇了菲爾的一個,因爲在我看來,它非常反映了什麼是更好的方法的理想。

但是,真的非常感謝大家的鏈接,意見和答案。他們很棒。

+0

C++是厄運的邪惡的坦克。 (請注意,我真的很喜歡C++,並已使用它多年) – Dan 2009-02-25 09:38:50

回答

5

Accelerated C++」被廣泛認爲是C++最好的介紹之一,可以幫助您獲得良好的開端。

然後跟隨Scott Meyers的Effective C++系列,然後繼續Sutter的Exceptional C++系列。

加入ACCU並按照Boost(但不要加入boost-dev,直到你已經非常能幹)。

1

鑑於您已經瞭解C語言和基本算法以及數據結構,最好的方法是在具有高水平C++開發能力的公司實習。

C++非常複雜,並且有很多令人困惑的特性 - take a look at this question for examples,所以最好是在真正有能力的人的指導下學習它。

4

閱讀由Lippman和Lajoie提供的書C++ Primer

其實做練習。

+0

...和Moo,已加入其他兩位作者的最新版本。 – 2009-02-25 10:16:54

+1

+1當我開始學習時,我嘗試了幾本書,發現C++ Primer是最好的。 – 2009-02-27 08:08:52

2

Programming: Principles and Practice Using C++作者:Bjarne Stroustrup可能值得一試,儘管(或者因爲)重點是編程,而不是C++。不過,它似乎並不太深。

+0

這可能是正確的選擇。我自己並沒有太過分,但它看起來不錯。總是從主人身上學到很多東西。 – 2009-02-25 17:13:42

1

從你的帖子來看,你的朋友已經有一些編程經驗。

This線程可能會有所幫助。

+0

謝謝,接受的答案是非常有幫助的。 – 2009-02-25 10:45:15

1

當您瞭解基礎知識後,我建議您找到Ellis和Stroustrup的副本Annotated C++ Reference Manual。它並不是最新的庫,但它是我閱讀過的唯一一本書,可以讓你深入瞭解C++是如何以及爲何如此。它解釋瞭如何在記憶中佈置vtable,以及這如何影響語言設計。

+0

這是先進的東西,還有一個更先進的斯坦利普曼書(C++對象模型內部?),我首先推薦。如果您對C++的發展感興趣,請不要忘記Stroustrup的「設計和演進」。在開始使用ARM之前閱讀這兩者。 – 2009-02-25 17:15:25

1

當我(90年代中期)學習C++的時候,我用Herbert Schildt的書C++ from the Ground Up。我發現它很清楚,易於遵循,我仍然偶爾提到它。

2

天哪!這真是太棒了,在編程網站上人們還是如此,並沒有閱讀整篇文章和問題。他已經表示他知道C++。

「我在問這個問題,因爲我的一位朋友(php程序員)問我如何正確(並且更好地)開始學習C++。」

我會說「加速C++」,很明顯,你從本書開始就開始編程,所以他不會感到無聊或沮喪。

乾杯。

+0

謝謝你的理解;)。關於之後的任何提示?我的朋友需要開始無憂無慮地感到沮喪或不知所措,但是在我建議他轉向Stroustrup的C++編程語言後立即開始。你同意嗎? (事實上​​,我不明白爲什麼我的問題被拒絕,順便說一句) – 2009-02-26 09:28:18

1

看的C++ FAQ網站:

http://www.parashift.com/c++-faq-lite/ &點擊鏈接學習OO/C++。你會發現一些有用的信息。

我是如何學習C++的?

我剛剛拿起了由Lippman和Lajoie編寫的The C++ Primer一書。而且我還回應了C++(Bjarne Stroustrup)C++編程語言第3版的發明人的經典文本 - 我仍然將這一點引用到我的日常需求中。

從Scott Meyer的Effective C++,更有效的C++中學到的很多&有效的STL書籍。

有人確實提到了www.boost.org(Boost庫)。他們是開始研究C++庫的未來會是什麼樣子的好地方。你可以下載源代碼&看看&從那裏開始遵循C++風格。這是一個開始的地方。

最後跟隨已經在C++ &中廣泛工作的人,他們可以有效地指導您學習這種複雜的語言。

祝你好運。

1

瞭解Qt。請相信我;我開發各種C++應用程序爲生。使用Qt的C++使您的工作效率更高。我曾經將很多不同的庫(Boost,Intel,數據庫連接器等)結合起來,以實現我們所做的一切(高性能/實時計算)。最後,我發現我需要的80%以上已經包含在Qt中。

更不用說,imo,Qt在我工作過的任何框架/庫上都有最好的文檔,這使得它非常容易,只需要自己學習一切。

試試吧,親自看看。

聲明:我只是一名開發人員 - 我不爲諾基亞工作。 = p