標籤:

記得不止一個人說學完c語言,再學c++會把c語言里不好的東西帶進學c++中,那麼請問具體有什麼東西?

謝謝


最嚴重的一個是,在不恰當的時機老是想把C++還原成C,導致開發和學習效率雙下降。


實際上在非常長的一段時間裡,使用完全不依賴c的「純c++「,你是沒法做出東西來的。


不要怕犯錯,即使帶進去,清除掉就是。

以下文字摘自《原則》一書:

通過快速試錯以適應現實是無價的。

不需要任何人的理解或引導,自然選擇的試錯過程就能實現改進。我們進行的學習也是這個道理。至少有三種學習能促進進化:以記憶為基礎的學習(有意識地儲存不斷出現的信息,以便以後可以記起來);潛意識的學習(從未進入意識的、我們從經驗中習得的知識,但也會影響我們的決策);與人類思考無關的「學習」,例如記錄物種適應進程的基因的進化。我曾以為以記憶為基礎的有意識的學習是最有力的,但我後來明白,試驗和適應能帶來更快的進步。


因為他們都是二把刀。

你看看GNU GObject是怎麼用C實現比C++還徹底的面向對象的,再看看C++ FQA那一套。


我一直認為無法區分 C 與 C++ 兼容 C 部分的細微差別的人,遲早會把 C++ 用成雜種 C,不管你是兩個都學還是只學一個。


切身體會,c with class這種風格應該放棄,要用c就好好用c,要oop就好好oop,不要搞出來奇形怪狀的東西。


那是因為說這話的人C也沒學好,稍微複雜點的程序寫C也要oop啊,C學好了寫啥語言都能在腦子裡翻譯成C,就像彙編學好以後寫C的時候腦子裡自動翻譯成彙編一樣


主要說的應該是非面向對象的思考方式,以及類型強轉等。

不過其實沒什麼,沒寫好只是因為你學得還不深而已。


老實說我們的java老師也對我們說了這句話(雖然說的是java),但是我在c++、java、c#編程是不用指針的(指針是什麼,我不知道)。


推薦閱讀:

如何在C#里結束一個無限循環線程?
關於2048局面的價值判斷及ai思路?
編程時IDE里的Intellisence好像是個編譯器前端一樣,什麼都知道.這是怎麼實現的?
為什麼 C 語言的輸入輸出函數比 C++ 的輸入輸出流要快?

TAG:CC |