成人免费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)格之間擇善而從。但平心而論。我確實沒有見過哪一種語言能像C++這樣,在代碼風(fēng)格方面表現(xiàn)得如此詭譎和難以捉摸:誰也說不清C++代碼究竟能衍生出多少種迥異的風(fēng)格。

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

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

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

在1983年12月Bjarne Stroustrup采納Rick Mascitti的建議,將其發(fā)明的新語言命名為“C++”之前,人們一直用“帶類的C(C with Classes)”來稱呼這種脫胎于C語言的,帶有數(shù)據(jù)抽象機制的“方言”。雖然帶類的C在本質(zhì)上僅僅是一種可以被預(yù)處理程序Cpre轉(zhuǎn)換為傳統(tǒng)C語言代碼(這類似于我們在Oracle中見到的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è)計和演化》。代碼中的new()其實是類stack的構(gòu)造函數(shù),這與后來的C++語言有很大的不同。顯而易見,帶類的C在風(fēng)格上幾乎完整地承襲了C語言的衣缽。代碼中的聲明語句看上去與C語言一模一樣,class的結(jié)構(gòu)也與C語言中struct的結(jié)構(gòu)大致相仿。

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

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

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

【編輯推薦】

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

2016-02-04 09:17:59

2011-12-21 16:44:00

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

2014-09-01 16:29:34

2010-01-15 15:06:30

C++語言

2022-03-29 09:35:15

FirefoxUI瀏覽器

2025-02-06 16:51:30

2011-09-01 09:34:21

架構(gòu)

2010-07-27 14:04:52

2011-11-03 15:25:07

Android

2011-11-29 09:54:20

Google進(jìn)化史

2018-12-21 11:01:05

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

2010-04-07 14:54:20

Unix操作系統(tǒng)

2024-09-21 10:43:15

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

2010-10-09 14:46:20

2018-03-23 12:20:25

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

2020-11-23 10:35:52

Emotet

2019-06-19 15:54:12

Redis緩存內(nèi)存

2013-06-24 09:18:05

2011-11-04 15:58:52

手機操作系統(tǒng)進(jìn)化史

2014-08-13 10:31:26

Windows操作系統(tǒng)
點贊
收藏

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

主站蜘蛛池模板: 成人在线免费观看视频 | 欧美一区免费在线观看 | 亚洲福利一区 | 国产成人综合一区二区三区 | 正在播放国产精品 | 不卡一二区 | 91在线视频观看免费 | 国产精品久久久久久福利一牛影视 | 日韩精品 电影一区 亚洲 | 欧美爱爱视频 | 亚洲不卡在线视频 | 91大神在线资源观看无广告 | 国产精品久久久久久妇女6080 | 九色 在线 | 日韩欧美一区在线 | 亚洲一区久久 | 日韩成人在线视频 | 成人国产精品免费观看视频 | 做a视频| wwwsihu| 亚洲国产一区二区三区 | 国产日韩欧美在线观看 | 九九99久久 | 欧美黑人狂野猛交老妇 | 亚洲高清免费观看 | 欧美日韩久久精品 | caoporn国产精品免费公开 | 久久99精品久久久久久国产越南 | 亚州中文字幕 | 丁香综合 | 亚洲国产精品一区二区第一页 | 日韩欧美在线播放 | 国产精品爱久久久久久久 | 一区二区三区网站 | 欧美日韩国产一区二区 | av天天澡天天爽天天av | 亚洲欧美在线一区 | 中国大陆高清aⅴ毛片 | 色综合视频 | 在线看av网址 | 91久久精品国产 |