詳細(xì)介紹如何準(zhǔn)確無(wú)誤的編寫(xiě)C++語(yǔ)言
什么是C++?C++是基于C語(yǔ)言發(fā)展起來(lái)的一種新的程序設(shè)計(jì)語(yǔ)言。C語(yǔ)言誕生于20世紀(jì)70年代,是一種應(yīng)用相當(dāng)廣泛的程序設(shè)計(jì)語(yǔ)言(尤其是在系統(tǒng)程序設(shè)計(jì)領(lǐng)域)。C語(yǔ)言簡(jiǎn)潔、高效,但是C語(yǔ)言也有其自身的缺點(diǎn),例如弱的類(lèi)型檢查機(jī)制等,使得使用C語(yǔ)言開(kāi)發(fā)大型的應(yīng)用程序比較困難。
20世紀(jì)80年代,美國(guó)貝爾實(shí)驗(yàn)室的Bjarne Stroustrup博士及其同事在C語(yǔ)言的基礎(chǔ)上引入了面向?qū)ο蟮木幊趟枷牒鸵粋€(gè)class關(guān)鍵字,形成了最早的C++語(yǔ)言原型。后來(lái),C++語(yǔ)言被融入了越來(lái)越多的語(yǔ)言特性,其中***有意義、影響最深遠(yuǎn)的莫過(guò)于template(模板)的引入。
最終美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)ANSI(American National Standard Institute)和國(guó)際標(biāo)準(zhǔn)化組織ISO(International Standards Organization)一起對(duì)C++語(yǔ)言進(jìn)行了標(biāo)準(zhǔn)化工作,并于1998年正式發(fā)布了C++語(yǔ)言的國(guó)際標(biāo)準(zhǔn)ISO/IEC:98-14882。C++已經(jīng)成為***的程序設(shè)計(jì)語(yǔ)言之一。
很多剛接觸程序設(shè)計(jì)的人經(jīng)常會(huì)問(wèn)“C++和C#、Java有哪些區(qū)別?學(xué)哪個(gè)比較好?”這樣的問(wèn)題。在網(wǎng)絡(luò)上搜索一下,也不難發(fā)現(xiàn)這個(gè)問(wèn)題已在各大論壇中成為討論的焦點(diǎn)。C語(yǔ)言是面向過(guò)程的。C++和C#、Java這3種語(yǔ)言都使用了類(lèi)似C風(fēng)格的語(yǔ)法,但它們都是面向?qū)ο螅∣OP)的。
C++是對(duì)C語(yǔ)言的一個(gè)擴(kuò)充,也就是說(shuō),一個(gè)C語(yǔ)言的程序,也可以認(rèn)為是一個(gè)C++程序(沒(méi)有用到C++高級(jí)特性而已),C#和Java對(duì)C語(yǔ)言沒(méi)有任何的兼容性。C++和C#、Java這3種語(yǔ)言中,C++是最早出現(xiàn)的,保持了對(duì)C的兼容性,允許指針的存在,允許程序員手動(dòng)高效地管理、使用內(nèi)存(盡管這也是最容易引起問(wèn)題的地方)。
C++在發(fā)展的過(guò)程中,不斷地補(bǔ)充語(yǔ)言特性,使得C++成為最靈活的編程語(yǔ)言之一。C++語(yǔ)言的靈活性是建立在其復(fù)雜的語(yǔ)法之上的,因此對(duì)于初學(xué)者來(lái)說(shuō),很有可能因此望而卻步,但是如果堅(jiān)持下去,就會(huì)發(fā)現(xiàn),再去看C#、Java語(yǔ)法時(shí)會(huì)感到很輕松。#t#
C#、Java語(yǔ)言相對(duì)C++語(yǔ)言來(lái)說(shuō),在語(yǔ)法上要簡(jiǎn)單得多,因此初學(xué)者很容易上手。二者拋棄了最容易引起問(wèn)題的指針,對(duì)內(nèi)存的管理完全自動(dòng)化,這樣雖然帶來(lái)了程序的穩(wěn)定性和安全性,但是在某種程度上丟失了效率。