學習C++語言重點應該當在哪裡?
01-30
由於專業需要,直接學了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 當中這段代碼是什麼意思?
※如何解決光線跟蹤中浮點數誤差導致的渲染錯誤?