成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C到C++語言進(jìn)化史

開發(fā) 后端
這如一些開發(fā)人員所說,帶類的C++語言不在風(fēng)格上還是在編程的環(huán)境上幾乎都完整地繼承了C語言的衣缽,下面進(jìn)行詳細(xì)介紹說明。

C++語言的順利推廣顯然要很感謝C語言已有的龐大用戶群,但是在C++的語言風(fēng)格中也深深的烙上了C語言的印記,這就是許多人為什么喜歡使用C++語言的理由吧。

程序代碼也有風(fēng)格,這算不得什么新鮮事。早在20世紀(jì)80年代, C語言程序員就必須在K&R風(fēng)格和ANSI風(fēng)格之間擇善而從。但平心而論。我確實(shí)沒有見過哪一種語言能像C++這樣,在代碼風(fēng)格方面表現(xiàn)得如此詭譎和難以捉摸:誰也說不清C++代碼究竟能衍生出多少種迥異的風(fēng)格。

但我知道,有許多C++初學(xué)者在面對(duì)不同風(fēng)格的C++代碼時(shí),經(jīng)常會(huì)誤以為自己看到的是好幾種完全不同的編程語言——僅此一點(diǎn)就足以提醒我們,研究和廓清C++語言風(fēng)格的演化和發(fā)展規(guī)律已是當(dāng)務(wù)之急了。

和文體學(xué)家們研究歷朝歷代文體變遷的工作相仿,研究C++語言風(fēng)格的流變史也沒有什么捷徑可走。我們只能依據(jù)劉勰在《文心雕龍》中提倡的“原始以表末”[1]的研究方法,循著歷史的脈絡(luò),推求代碼風(fēng)格的來源,探尋風(fēng)格演化的內(nèi)因,并借以闡明技術(shù)發(fā)展的趨勢(shì)和規(guī)律。

 1. 帶類的C——對(duì)C語言風(fēng)格的因襲   
 

在1983年12月Bjarne Stroustrup采納Rick Mascitti的建議,將其發(fā)明的新語言命名為“C++”之前,人們一直用“帶類的C(C with Classes)”來稱呼這種脫胎于C語言的,帶有數(shù)據(jù)抽象機(jī)制的“方言”。雖然帶類的C在本質(zhì)上僅僅是一種可以被預(yù)處理程序Cpre轉(zhuǎn)換為傳統(tǒng)C語言代碼(這類似于我們?cè)贠racle中見到的Pro*C語言的預(yù)處理過程)的擴(kuò)展性語言,但它的確在風(fēng)格上奠定了后來所有C++代碼的基礎(chǔ)。

  1. class stack {  
  2.   char s[SIZE];  
  3.   char* min;  
  4.   char* top;  
  5.   char* max;  
  6.   void new();  
  7. public:  
  8.   void push(char);  
  9.   char pop();  
  10. }; 

這段“帶類的C”代碼錄自Stroustrup所著的《C++語言的設(shè)計(jì)和演化》。代碼中的new()其實(shí)是類stack的構(gòu)造函數(shù),這與后來的C++語言有很大的不同。顯而易見,帶類的C在風(fēng)格上幾乎完整地承襲了C語言的衣缽。代碼中的聲明語句看上去與C語言一模一樣,class的結(jié)構(gòu)也與C語言中struct的結(jié)構(gòu)大致相仿。

這些跡象反映出C++語言來源于C又盡量與C保持兼容的設(shè)計(jì)思想——這種設(shè)計(jì)思想既為C++的迅速普及提供了便利(C++語言的順利推廣顯然得益于C語言已有的龐大用戶群)。

也在C++語言風(fēng)格中深深地烙上了C語言的印記,以至于在若干年后,當(dāng)C++語言已經(jīng)基本具備了“獨(dú)立人格”的時(shí)候,Stroustrup還不得不時(shí)常提醒人們要盡量拋開C語言的思維方式。

另一方面,Stroustrup從Simula語言借用的類、派生、訪問控制等面向?qū)ο蟾拍钤趲ь惖腃中牢牢地扎下了根。據(jù)Stroustrup介紹,他為C語言引入面向?qū)ο髾C(jī)制的本意在于尋找一種“合適的工具”[2],以便實(shí)現(xiàn)分布式系統(tǒng)或解決類似的復(fù)雜問題。但無論怎樣,Stroustrup將C的高效和Simula的優(yōu)雅捆綁在一起的做法都在事實(shí)上為C++語言埋下了“雙重性格”的種子——很難說這不是C++語言風(fēng)格多樣化的直接誘因。

【編輯推薦】

  1. 簡(jiǎn)介學(xué)習(xí)C++總結(jié)之談
  2. 對(duì)C++庫(kù)函數(shù)進(jìn)行學(xué)習(xí)探索總結(jié)筆記
  3. C++類庫(kù)設(shè)計(jì)的基本構(gòu)思與方法
  4. C++語言真的還有市場(chǎng)價(jià)值?
  5. C++類庫(kù)設(shè)計(jì)的基本構(gòu)思與方法
責(zé)任編輯:chenqingxiang 來源: wewill.cn
相關(guān)推薦

2016-02-04 09:17:59

2014-09-01 16:29:34

2011-12-21 16:44:00

信息圖手機(jī)進(jìn)化史

2010-01-15 15:06:30

C++語言

2022-03-29 09:35:15

FirefoxUI瀏覽器

2025-02-06 16:51:30

2010-07-27 14:04:52

2011-11-03 15:25:07

Android

2011-11-29 09:54:20

Google進(jìn)化史

2011-09-01 09:34:21

架構(gòu)

2018-12-21 11:01:05

存儲(chǔ)大數(shù)據(jù)RAID

2010-10-09 14:46:20

2018-03-23 12:20:25

數(shù)據(jù)中心網(wǎng)絡(luò)數(shù)據(jù)

2024-09-21 10:43:15

數(shù)據(jù)技術(shù)信息

2010-04-07 14:54:20

Unix操作系統(tǒng)

2020-11-23 10:35:52

Emotet

2023-11-27 09:23:19

2022-03-25 14:01:20

元宇宙虛擬世界進(jìn)化

2019-08-29 08:13:28

2023-04-13 13:25:40

ChatGPTGPT神經(jīng)網(wǎng)絡(luò)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 毛片网站在线观看视频 | 欧美日韩亚洲一区 | 久久精品欧美视频 | 不卡一区| 免费午夜电影 | 精品不卡 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 国产一区二区精品在线观看 | 婷婷国产一区二区三区 | 日韩一区二区三区精品 | 日韩欧美在线不卡 | 久久大陆 | 免费一区二区三区 | 久久777| 91久久久久 | 日本中文字幕在线观看 | 久久天堂 | www.se91 | 国产精品区一区二区三 | 亚洲欧洲日本国产 | 一级黄色片日本 | 99热在这里只有精品 | 黄网站在线播放 | 久久久精 | 欧美精品综合在线 | 国产一区二区视频在线 | 久综合 | 欧美精品久久久久 | 黄色大片在线免费观看 | 欧美久久免费观看 | 亚洲精品中文字幕在线 | 国产精品免费视频一区 | 成人福利电影 | 日韩毛片网| 日本精品久久久久 | 欧美一区二不卡视频 | 日韩精品免费 | 欧美综合一区 | 亚洲一区二区三区在线播放 | 国产不卡一 | 色婷婷久久综合 |