自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析難以捉摸的C++語言多樣化問題

開發(fā) 后端
也許大家對C++語言還不是很了解,看完本文后對您一定會大有幫助,下文除了學習C++語言的基本性質(zhì)外還C++語言的編輯技巧全面研究。

其實C#的語法與C++語言非常相似,有些變化引起的錯誤卻很嚴重,本文就對于大多數(shù)用戶頭疼的C++語言進行詳細的剖析與介紹,建議我們把標準C++當作一種全新的語言來學習。

程序代碼也有風格,這算不得什么新鮮事。早在20世紀80年代, C語言程序員就必須在K&R風格和ANSI風格之間擇善而從。但平心而論,我確實沒有見過哪一種語言能像C++這樣,

在代碼風格方面表現(xiàn)得如此詭譎和難以捉摸:誰也說不清C++代碼究竟能衍生出多少種迥異的風格,但我知道,有許多C++初學者在面對不同風格的C++代碼時,經(jīng)常會誤以為自己看到的是好幾種完全不同的編程語言——僅此一點就足以提醒我們,研究和廓清C++語言風格的演化和發(fā)展規(guī)律已是當務之急了。

帶類的C——對C語言風格的因襲

在1983年12月Bjarne Stroustrup采納Rick Mascitti的建議,將其發(fā)明的新語言命名為“C++”之前,人們一直用“帶類的C(C with Classes)”來稱呼這種脫胎于C語言的,帶有數(shù)據(jù)抽象機制的“方言”。

雖然帶類的C在本質(zhì)上僅僅是一種可以被預處理程序Cpre轉(zhuǎn)換為傳統(tǒng)C語言代碼(這類似于我們在Oracle中見到的Pro*C語言的預處理過程)的擴展性語言,但它的確在風格上奠定了后來所有C++代碼的基礎。

  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++語言的設計和演化》。代碼中的new()其實是類stack的構(gòu)造函數(shù),這與后來的C++語言有很大的不同。

顯而易見,帶類的C在風格上幾乎完整地承襲了C語言的衣缽。代碼中的聲明語句看上去與C語言一模一樣,class的結(jié)構(gòu)也與C語言中struct的結(jié)構(gòu)大致相仿,這些跡象反映出C++語言來源于C又盡量與C保持兼容的設計思想。

這種設計思想既為C++的迅速普及提供了便利(C++語言的順利推廣顯然得益于C語言已有的龐大用戶群),也在C++的語言風格中深深地烙上了C語言的印記,以至于在若干年后,當C++語言已經(jīng)基本具備了“獨立人格”的時候,Stroustrup還不得不時常提醒人們要盡量拋開C語言的思維方式。

另一方面,Stroustrup從Simula語言借用的類、派生、訪問控制等面向?qū)ο蟾拍钤趲ь惖腃中牢牢地扎下了根。據(jù)Stroustrup介紹,他為C語言引入面向?qū)ο髾C制的本意在于尋找一種“合適的工具”。

以便實現(xiàn)分布式系統(tǒng)或解決類似的復雜問題。但無論怎樣,Stroustrup將C的高效和Simula的優(yōu)雅捆綁在一起的做法都在事實上為C++語言埋下了“雙重性格”的種子——很難說這不是C++語言風格多樣化的直接誘因。

【編輯推薦】

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

2021-01-08 10:47:07

機器學習模型算法

2010-01-21 16:18:06

C++語言

2010-01-27 15:05:04

C++標準化

2016-08-12 09:24:33

開源多樣化亮點

2010-07-29 17:00:36

Flex餅圖

2024-06-06 17:32:41

2013-02-22 11:39:27

BGP控制方式路由流向

2015-03-23 16:42:06

2011-06-22 09:54:13

網(wǎng)絡技術(shù)虛擬化網(wǎng)絡OpenFlow

2021-02-05 23:18:55

云計算IT技術(shù)

2010-11-09 10:37:21

2015-10-09 11:27:36

綜合布線布線技術(shù)

2017-05-16 15:00:25

存儲云端解決方案

2010-01-25 14:18:46

C++對象模型

2015-01-07 09:42:55

5G25G以太網(wǎng)

2015-12-11 22:40:10

大數(shù)據(jù)OpenPOWERPOWER8

2017-11-09 13:41:30

2013-01-23 09:33:29

交換機設備故障

2011-06-28 13:11:10

2013-05-15 10:49:36

華為全景智真視訊終端
點贊
收藏

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