C++是一種語言,僅僅是它的語法、特性、標準類庫就已經是一門非常高深的課程,所以在開始學習的時候,必須先要打好基礎。在市面上有很多Visual C++的書,雖然其中可能會花1-2章來介紹C++的基本特性,但是那絕對不會讓你入門。因此,初學者學習C++應該選擇針對C++語言本身的書籍,而不能是針對Visual C++、MFC或者Windows API的。
學習C++應該由易至難,循序漸進。以前經常有人說學習C++之前應該學習C語言。事實上那不是必須的,C++和C語言雖然有關系,但仍然是兩種不同的語言。當然,在學習C++之前學習過其他編程語言是很有好處的。那會使學習C++的速度更快,畢竟很多計算機語言的概念都是相通的。而對于零基礎的初學者來說,則是應該靜下心來,不要急躁。要成為C++的高手,不是那么容易的,必須要花很大的努力。
從入門教材的選擇上,主要看學習者的自身情況。如果已經有過學習高級語言的經歷,那么推薦使用譚浩強的《C++程序設計》。注意是04年版的,06年版的那本書是閹割版,上來就面向對象。雖然說C和C++是相似的,但是前面已經說了,C和C++應該作為兩種語言來學習,所以06年的那本內容就稍微欠缺一點了。譚浩強04版的這本書內容比較規整的,條理也很清晰。如果有過其他高級語言的基礎,那么估計半年就能對C++的概況有個了解了。譚浩強老師的書已經成為了全國各大高等院校的教科書,是比較受到認可的。
如果是從零基礎開始學C++,那么推薦使用潘嘉杰的《易學C++》。這本書是2008年出的新書,聽說是個學生在讀書的時候寫的。這本書網上有下載免費的電子版,不過內容好像不完整。這本書主要就是針對初學者的,講得也比較生動有趣,比較提得起學習的興趣。所以沒有基礎的初學者選這本書也是不錯的,就是想要很快成為高手,可能看這本書還不夠。
至于看完入門的書之后,就應該看一些高層次的書了。比如The C++ Programming Language和C++ Primer,同時也可以向STL、MFC、API等各個方向發展。如果對別的語言感興趣,還能去看看C#和Java,它們和C++從語法和很多概念上都是類似的。