C++的簡(jiǎn)介、起源與發(fā)展
發(fā)布時(shí)間:2023-10-27 11:05:37
1.C++簡(jiǎn)史:
2.1 C語(yǔ)言編程原理:
由于C++在C語(yǔ)言的基礎(chǔ)上移植了新的編程理念,所以我們先回顧一下C語(yǔ)言所遵循的舊的理念。一般來(lái)說(shuō),計(jì)算機(jī)語(yǔ)言要處理兩個(gè)概念——數(shù)據(jù)和算法。數(shù)據(jù)是程序使用和處理的信息,而算法是程序使用的方法。C語(yǔ)言與當(dāng)前最主流的語(yǔ)言一樣,在最初面世時(shí)也是過(guò)程性(procedural)語(yǔ)言,這意味著它強(qiáng)調(diào)的是編程的算法方面。
但隨著程序規(guī)模的擴(kuò)大,早期的程序語(yǔ)言(Basic)都會(huì)遇到組織方面的問(wèn)題。為了解決這些問(wèn)題,計(jì)算機(jī)科學(xué)家開(kāi)發(fā)了一種更有序的編程方法——結(jié)構(gòu)化編程。C語(yǔ)言具有使用這種方法的特性,另一個(gè)新原則是自頂向下設(shè)計(jì)。在C語(yǔ)言中,其理念是將大型程序分解成小型、便于管理的任務(wù)。C語(yǔ)言鼓勵(lì)程序員開(kāi)發(fā)程序單元(函數(shù))來(lái)表示各個(gè)任務(wù)模塊。
2.面向?qū)ο缶幊?/span>
雖然結(jié)構(gòu)化編程的理念提高了程序的清晰度、可靠性、便于維護(hù),但它在編寫(xiě)大型程序時(shí),仍面臨著挑戰(zhàn)。為應(yīng)付這種挑戰(zhàn),OOP提供了新方法,與強(qiáng)調(diào)算法的過(guò)程性編程不同,OOP強(qiáng)調(diào)的是數(shù)據(jù)。OOP不像過(guò)程性編程那樣,試圖使問(wèn)題滿(mǎn)足語(yǔ)言的過(guò)程性方法,而是試圖讓語(yǔ)言來(lái)滿(mǎn)足問(wèn)題的要求。
在C++中,類(lèi)是一種規(guī)范,它描述了這種新型數(shù)據(jù)格式,對(duì)象是根據(jù)這種規(guī)范構(gòu)造的特定數(shù)據(jù)結(jié)構(gòu)。通常,類(lèi)規(guī)定了可使用哪些數(shù)據(jù)來(lái)表示對(duì)象以及可以對(duì)這些數(shù)據(jù)執(zhí)行哪些操作。
OOP程序設(shè)計(jì)方法首先設(shè)計(jì)類(lèi),它們準(zhǔn)確表示了程序要處理的東西。
3.C++和泛型編程
泛型編程是C++支持的另一種編程模式。它與OOP的目標(biāo)相同,即使重用代碼和抽象通用概念的技術(shù)更簡(jiǎn)單,不過(guò)OOP強(qiáng)調(diào)的是編程的數(shù)據(jù)方面,而泛型編程強(qiáng)調(diào)的是獨(dú)立于特定數(shù)據(jù)結(jié)構(gòu)。它們的側(cè)重點(diǎn)不同,OOP是一個(gè)管理大型項(xiàng)目的工具,而泛型編程提供了執(zhí)行常見(jiàn)任務(wù)(如對(duì)數(shù)據(jù)排序或合并鏈表)的工具。
4.C++起源:
與C語(yǔ)言一樣,C++也是在貝爾實(shí)驗(yàn)室誕生的,Bjarne Stroustrup于20世紀(jì)80年代在這里開(kāi)發(fā)出了這種語(yǔ)言。Stroustrup比較關(guān)系的是讓C++更有用,而不是實(shí)施特定的編程原理和風(fēng)格。名稱(chēng)C++來(lái)自C語(yǔ)言的遞增運(yùn)算符++,名稱(chēng)C++表示它是C的擴(kuò)充版本。
5.C++發(fā)展:
C++是一門(mén)以C為基礎(chǔ)發(fā)展而來(lái)的一門(mén)面向?qū)ο蟮母呒?jí)程序設(shè)計(jì)語(yǔ)言,從1983年在貝爾實(shí)驗(yàn)室創(chuàng)立開(kāi)始至今,已有30多個(gè)年頭。C++從最初的C with class,經(jīng)歷了從C++98、C++ 03、C++ 11、C++ 14再到C++17多次標(biāo)準(zhǔn)化改造,功能得到了極大的豐富,已經(jīng)演變?yōu)橐婚T(mén)集面向過(guò)程、面向?qū)ο蟆⒑瘮?shù)式、泛型和元編程等多種編程范式的復(fù)雜編程語(yǔ)言。由于C++過(guò)于復(fù)雜,并且經(jīng)歷了長(zhǎng)時(shí)間的發(fā)展演變,目前對(duì)于C++標(biāo)準(zhǔn)支持的較好主要有GNU C++和Visual C++,嚴(yán)格來(lái)說(shuō),目前還沒(méi)有一個(gè)完全支持ISO C++的版本。
以上為本次所有分享內(nèi)容