2010-07-28 13 views
4

這裏是我的情況:我自學C++(雖然相當糟糕),後來教會了如何在大學中使用Java。回到C++,我發現自己對C++到Java的幾個不同之處感到困惑,例如內存管理和避免內存泄漏。從Java返回的程序員的C++參考

返回C++編程的最佳模式是什麼?我是否應該再次閱讀初學者指南,或者對於我的這種情況有一些很好的參考?

所有幫助表示感謝和感謝!

+1

最大的區別是Java有一個自動垃圾收集,而C++沒有。您必須確保C++中的每個對象都有自己的析構函數。 – 2010-07-29 16:55:39

回答

12

如果你從未正確學過C++(你說你學會了「糟糕」),重新開始。忘記關於Java的所有內容,因爲嘗試在C++中使用Java習語和技術只是錯誤和內存泄漏以及非常低效的代碼的祕訣。語言之間的差異相當大。

因此,從頭開始寫一本好書教C++。

+0

+1,C++和Java與金星日的農曆之夜不同。 – greyfade 2010-07-29 00:49:13

+0

這本書沒有真正的推薦*什麼*文本選擇。沒有達到問題的核心,國際海事組織 - 所以我贊成。 – jdt141 2010-07-31 03:12:19

+0

我沒有要求書籍推薦,我問過一個策略,@ jdt。這個答案是最有價值的,因爲它提供了一個好的策略,並解釋了爲什麼這是一個好策略。 – 2010-08-02 16:34:20

3

如果你已經知道C的基礎++,那麼我會建議斯科特邁爾斯閱讀Effective C++。它包含了用於編寫更好的C++代碼的豐富技巧和指導。與以前的版本不同,本書的第三版進行了修改,以考慮到讀者來自C編碼以外的背景(Java是其中之一)。

本書的第3章涉及資源管理,包括如何避免內存泄漏。

+0

我愛斯科特的書,但除非他們已經掌握了C++,否則我不會向任何人推薦它們。這些建議是基於詳細解釋爲什麼應該完成的。幾乎所有這些解釋都超出了隨意的C++用戶。 – 2010-07-28 23:41:06

4

我會推薦Stephen Prata的C++ Primer Plus。有點幹,但很專注。

您也可能要考慮的C++標準庫由尼古拉M. Josuttis擁有

1

這是我用過的最好的一個。解釋它不是C還是「C with Classes」。

Effective C++

3

我建議你從從頭開始。已經有很多答案能夠保存好書了。按照任何一個,但我自己喜歡C++ Primer

而對於你的問題

會是怎樣的 返回編程C++中的最佳模式?

IMO只有一種模式。這是練習,練習,練習。