回答
我不認爲這樣的網站存在,我懷疑它永遠會。原因在於C++是巨大的 - 我的意思是reeaallllyyy巨大。
當你開始專業編寫C++代碼(即每週40小時),並花1或2小時學習有關C++ 每天(即每週5-10小時)的新內容時,閱讀書籍和文章, 如果不是幾年,你將需要幾個月的時間才能成爲一名真正的專業C++程序員 - 假如你的工作不需要你學習任何第三方API,新工具,新技術以及什麼都不會讓你從學習中分心C++。
幾年來,我已經爲已經接觸Java一年的學生教授C++。在4-5個月,12-15次講座中,至少在實驗室中兩次,我已經設法從「你好,世界!一直到模板元編程的簡短介紹。每個知道該範圍內所有區域的人都會告訴你,在此之後,他們仍然是血腥的新手。 (哎呀,我使用C++的時間超過15年,賺取我的錢編寫C++代碼> 10年,,並且仍然幾乎每週都會學到新的東西。這甚至沒有考慮到大量的東西傾倒在我們身上按照新的標準,這個標準已經「幾年了」)。
由於爲了學習C++而需要覆蓋的領域非常龐大,而且由於C++已經足夠陳舊,所以在涉及到哪些標準習慣用法和「最佳」方面,它的程序員可以分爲幾代「他們瞭解到的做法,最後是因爲(再一次由於其難以置信的龐大性),新技術不斷被發現和發展(模板元編程,現在是C++的一個非常重要的特性,是沒有人計劃的事故),C++社區成語和實踐方面的意見並不像Java社區那樣緊湊,並且很難作爲一套幾十條規則進行溝通而不會引起激烈的討論。
(我認爲的事實,有幾種不同非常好,推薦最佳實踐書列出每個拇指幾十規則,而事實上,他們中的一些管理,以後來獲得補充更多最佳實踐書,字面意思是關於這一點。)
你會發現很多專業的C++程序員只喜歡使用C++提供的30%。例如,許多人只是將它用作OO語言,錯過了模板(可能除了STL),例外和其他非常有用的東西。但是C++是一個多範例語言。它支持面向對象編程以及通用編程,生成式編程,大量函數式編程以及其他一些範例。在這些範例相結合的地方,它變得最強大。
那麼我的建議是什麼?
看看The Definitive C++ Book Guide and List。
首先讓你從初學者的書中挑選。既然你說你已經接觸過C++,我推薦使用Andrew Koenig和Barbara Moo的C++。這是一個很好的介紹,對於改變教學C++的方式來說,這個介紹不夠好,但它的學習曲線非常陡峭。另外,有250頁,這只是一個簡短的介紹。
到另一種做法可能是要麼大師Stanley Lippman的C++入門(其中,在1000頁,詳細地討論了同地)或布魯斯Eckel的思考在C++(我不知道)或Bjarne的Stroustrup的經典The C++ Programming Language(also 1k pages)or his latest book,Programming - Principles and Practice Using C++(我還沒有看過)。
這些書有足夠的任務,讓你忙一會兒。添加一些你自己的東西,你可以忙着學習幾個月。
然後慢慢地沿着清單走下去。
的下一個C++標準,目前普遍預計,2011年將增加一些具有挑戰性的概念的語言(如右值引用)和一個大大擴展了標準庫。 (目前的草案有幾乎是最後一頁的的兩倍)。不幸的是,由於該標準尚未完成,因此沒有任何書籍可以教授它。這一切都在文章和在線討論(儘管維基百科有a pretty good article about it)和這一切都意味着流利的C++程序員,而不是C++新手。不幸的是,沒有一篇文章將C++ 1x教給C++新手。恐怕需要幾年時間才能在幾本推薦的書籍中選擇。
別忘了C++ FAQ,這是一個非常好的(也是非常可讀的)最佳實踐(及其理性)的在線集合,儘管它絕不是介紹性文本。
+1 for C++ FAQ,這是一個很好的複習列表。 – Brian 2010-08-13 20:12:58
C++很複雜,但是爲什麼「常規」的C++程序員應該熟練掌握模板元編程?你能否指出一個例子,模板元編程使開發人員能夠做其他方法無法做到的事情? 對於常規應用程序開發,不需要知道整個C++標準。瞭解語言的陷阱就足以瞭解它(這本身就非常重要),以及目前用於該項目的基本庫。 – Schedler 2010-08-13 22:37:13
@Schedler:「你能否指出一個例子,模板元編程使得能夠做其他方法無法做到的事情?」在編譯時執行算法意味着,如果在開發者的機器上沒有失敗,它也不會在客戶端上失敗。如果你製作的應用程序要安裝在幾百萬臺臺式機上,那麼這個應用程序的價值幾乎不可估量,幾乎是值得的。當然,這並不意味着每個人都必須能夠做TMP。但是,如果您將C++視爲面向對象的語言,那麼您就錯失了很多。 C++是一個... – sbi 2010-08-14 10:09:03
實踐中沒有替代品。
在你的機器上找到你想要的程序(也許和計算項目中行數的東西一樣簡單),然後用C++編寫。
我希望我能告訴你,我有一個很棒的資源,可以告訴你書中的每一個C++技巧,但事實會被告知,你是那個資源。
練習。從自己的錯誤中學習。你是你最好的老師。
Sphere Online Judge看起來好像可以和C++一起工作(還有其他一些語言)。它不像CodingBat那麼簡單,但會有更復雜的問題。
- 1. 網站類似cplusplus.com爲C++ 11
- 2. C#學習類似於javabat的網站
- 3. 如何獲取網站的源碼c#的類似的檢查器?
- 4. 網站字符編碼
- 5. HtmlUnit:中國網站編碼
- 6. 編碼爲競猜網站
- 7. 編碼網站禁用JavaScript
- 8. 編碼自適應網站
- 9. 自定義網站的類似Mediawiki的編輯器?
- 10. Python:試圖爲多個(類似)網站(類似)的數據刮
- 11. 如何阻止Alexa和類似的網站訪問網站
- 12. Python的瓶用密碼保護的網站的.htaccess類似PHP
- 13. Woocomerce網站車和類似產品alignement
- 14. 類似Android的CSS/HTML網站模板?
- 15. 我想有類似的網站https://onlycoin.com/
- 16. Django:與eBay類似的購物網站
- 17. 創建類似於網站的表單
- 18. 類似於Photoshop的導航器網站
- 19. 類似FTP服務器的asp.net網站
- 20. 與Azure的網站和類似
- 21. 尋找類似門戶網站的CMS
- 22. 用C++編寫代碼的類似代碼
- 23. 標準編碼網址,網站地圖
- 24. 網站站長工具API C# - 網址編碼SiteID導致400響應
- 25. 我的網站編碼爲響應網站,但它不是
- 26. 網址進行編碼C#
- 27. C#中文編碼/網絡
- 28. 網站似乎不「中心」
- 29. 如何在我的網站上編譯C代碼
- 30. C#:事先獲取WebClient的網站編碼
thanx爲鏈接。我已經學習了Python和Java,它將很好地去除一些灰塵和鏽蝕。 – 2010-08-23 13:04:40