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