學習C++語言重點應該當在哪裡?

由於專業需要,直接學了C++而沒有學C,不過吐槽教材根本就是C with class,C基本覆蓋了,加上類,繼承,多態等,根本沒提其他一些高級特性。打算暑假啃C++ Primer。

這本書的前言說要避免養成低級語言的壞習慣,希望讀者使用高級特性來避免出錯。比如C風格字元串和String類等。我大概了解繼承自C的特性,但是不是以後不要再在這些方面繼續糾結而是痛快地用STL等?包括以後的數據結構(自學)也這樣用?

另外,求啃C++ Primer時應該從哪裡找題目練習

還有,對指針比較反感是一種病嗎?該怎麼治?

才疏學淺,求輕噴。


寫自己的程序怎麼難怎麼來。寫別人的程序怎麼不出錯怎麼來。

反感指針是一種病,得治。方法嘛,擼個LZW的壓縮解壓演算法吧。


如果腦子管不過來的話,最好用引用替代指針。

我說的是腦子管不過來的情況,否則該用啥還是用啥。


不僅僅是c++,其他語言也是如此:都是在內存這種「格子鋪」中來回倒騰數據而已!所以重點就是數據的內存模型!


指針,你只需要知道它是什麼東西的地址就行了,至於多級指針,大部分情況下你是不需要使用到的。雖然虛函數的多態需要用到指針或者引用,但這些的概念都很簡單,請千萬不要聽其他人的危言聳聽,老老實實的看書就行了。最怕的就是書本里的東西一目十行,就以為自己全都會了這種態度。

學C++沒必要非要一開始就糾結指針,C++ primer第五版里涵蓋了不少C++11的內容,如果你用靜態數組,std::array夠用了,如果用動態數組,請使用vector。

stackoverflow上有一個C++推薦書目清單,你可以挑自己喜歡的一本一本看


指針

指針可以算是C/C++的精髓。同時也是連接系統下層和系統上層的橋樑


必須是封裝,繼承,和多態啊。

說真的,學好C就夠了,當然,重點搞指針,方便你對C++背後的實現做更深入的了解。

PS:擼好指針,怎麼折騰都不怕啊。

(*^__^*) 嘻嘻……


知乎第一個答案,答案可能同問題沒什麼關係,那就隨便看看吧。在下是個想成為一個出色碼農的微電子學生,大學學了vhdl,c,自學了一點javascript,還有聽各位大神的建議後,摸了兩天的lisp。超級渣渣一個,但覺得無論學任何都得在具體情景下分析,代碼本身只是一串有意義的英文而已,比如vhdl,其中時序邏輯電路里的代碼意義類似於正常c語言中的while等等。如果沒有實操,那還只是意淫而已呵呵。


推薦閱讀:

C++中循環中的auto是利用了迭代器的機制嗎?
codeblocks寫代碼有時候會自動補全,有時候不補全?
在輪子哥的 UnitTest.h 當中這段代碼是什麼意思?
如何解決光線跟蹤中浮點數誤差導致的渲染錯誤?

TAG:C | CC | 計算機語言 |