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

深度剖析C++程序設(shè)計(jì)相關(guān)介紹

開(kāi)發(fā) 后端
面向?qū)ο蟮脑O(shè)計(jì)思想是在原來(lái)結(jié)構(gòu)化程序設(shè)計(jì)方法基礎(chǔ)上的一個(gè)質(zhì)的飛躍,C++程序設(shè)計(jì)完美地體現(xiàn)了面向?qū)ο蟮母鞣N特性。

下面一起對(duì)C++語(yǔ)言進(jìn)行標(biāo)準(zhǔn)化工作,微軟并于1998年正式發(fā)布了C++語(yǔ)言的國(guó)際標(biāo)準(zhǔn)ISO/IEC:98-14882。C++語(yǔ)言已經(jīng)成為***的程序設(shè)計(jì)語(yǔ)言之一,希望本文能教會(huì)你更多東西。下面就先從C++程序設(shè)計(jì)說(shuō)明開(kāi)始吧。

Bjarne Stroustrup(C++的設(shè)計(jì)者)對(duì)C++的設(shè)計(jì)和演化的描述C++的設(shè)計(jì)和演化(The Design and Evolution of C++C++程序設(shè)計(jì)語(yǔ)言是由來(lái)自AT&T Bell Laboratories的Bjarne Stroustrup(即本文作者)設(shè)計(jì)和實(shí)現(xiàn)的,它兼具Simula語(yǔ)言在組織與設(shè)計(jì)方面的特性以及適用于系統(tǒng)程序設(shè)計(jì)的C語(yǔ)言設(shè)施。

C++最初的版本被稱(chēng)作“帶類(lèi)的C(C with classes)”[Stroustrup,1980],在1980年被***次投入使用;當(dāng)時(shí)它只支持系統(tǒng)程序設(shè)計(jì)(§3)和數(shù)據(jù)抽象技術(shù)(§4.1)。支持面向?qū)ο蟪绦蛟O(shè)計(jì)的語(yǔ)言設(shè)施在1983年被加入C++;之后,面向?qū)ο笤O(shè)計(jì)方法和面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)就逐漸進(jìn)入了C++領(lǐng)域。

在1985年,C++程序設(shè)計(jì)***次投入商業(yè)市場(chǎng)[Stroustrup,1986][Stroustrup,1986b]。在1987至1989年間,支持范型程序設(shè)計(jì)的語(yǔ)言設(shè)施也被加進(jìn)了C++[Ellis,1990][Stroustrup,1991]。  隨著若干獨(dú)立開(kāi)發(fā)的C++實(shí)現(xiàn)產(chǎn)品的出現(xiàn)和廣泛應(yīng)用,正式的C++標(biāo)準(zhǔn)化工作在1990年啟動(dòng)。標(biāo)準(zhǔn)化工作由ANSI(American National Standard Institute)以及后來(lái)加入的ISO(International Standards Organization)負(fù)責(zé)。1998年正式發(fā)布了C++語(yǔ)言的國(guó)際標(biāo)準(zhǔn)[C++,1998]。#t#

在標(biāo)準(zhǔn)化工作進(jìn)展期間,標(biāo)準(zhǔn)委員會(huì)充當(dāng)了一個(gè)重要的角色,其發(fā)布的C++標(biāo)準(zhǔn)之草案在正式標(biāo)準(zhǔn)發(fā)布之前,一直被作為過(guò)渡標(biāo)準(zhǔn)而存在。而作為標(biāo)準(zhǔn)委員會(huì)中的積極分子,我是C++進(jìn)一步發(fā)展工作中的主要參與者。與以前的C++語(yǔ)言版本相比,標(biāo)準(zhǔn)C++更接近我理想中的那個(gè)C++語(yǔ)言了。關(guān)于C++的設(shè)計(jì)和演化,在[Stroustrup,1994]、[Stroustrup,1996]和[Stroustrup,1997b]中有詳細(xì)的敘述。至于標(biāo)準(zhǔn)化工作末期產(chǎn)生的C++語(yǔ)言定義,在[Stroustrup,1997]有詳細(xì)敘述。

當(dāng)然,這些規(guī)則要具體結(jié)合更多關(guān)于基本目標(biāo)的上下文環(huán)境來(lái)考慮。應(yīng)該注意到的是,在“與C有較高的兼容性”、“不損失效率”以及“具有便捷的可用性來(lái)解決實(shí)際問(wèn)題”這三個(gè)方面的要求,與在“完整的型別安全性”、“完全的通用性”以及“完善的抽象之美”這三個(gè)方面的要求形成對(duì)立。

C++程序設(shè)計(jì)從Simula中借鑒了用戶自定義型別(class,§4.1)和類(lèi)層次機(jī)制。然而,在Simula及許多類(lèi)似的語(yǔ)言中,其對(duì)用戶自定義型別的支持與其對(duì)內(nèi)建型別的支持存在著根本上的不同。例如,Simula中不允許在棧中為用戶自定義型別的對(duì)象分配空間,并且只允許通過(guò)指針(這在Simula中稱(chēng)為引用——reference)來(lái)對(duì)這些對(duì)象進(jìn)行訪問(wèn)。而相反的,內(nèi)建型別的對(duì)象只在棧中被分配空間,不能在動(dòng)態(tài)存儲(chǔ)區(qū)中分配,而且不能使用指針指向它。

這種在對(duì)待內(nèi)建型別與對(duì)待用戶自定義型別上的差異,暗示著對(duì)效率問(wèn)題的嚴(yán)格考慮。比如,當(dāng)作為一個(gè)在動(dòng)態(tài)存儲(chǔ)區(qū)中被分配的對(duì)象之引用時(shí),如果該對(duì)象屬于自定義型別(比如complex,§4.1),那么就會(huì)為運(yùn)行期及空間帶來(lái)負(fù)荷;

而這些負(fù)荷在有些應(yīng)用中被認(rèn)為是不可接受的。這些正是C++意欲涉足解決的問(wèn)題。同時(shí),在用法上的不同也決定了:不可能在范型程序設(shè)計(jì)中統(tǒng)一對(duì)待那些語(yǔ)義上近似的型別。

C++程序設(shè)計(jì)中只要在不嚴(yán)重影響其對(duì)強(qiáng)型別檢查(strong type checking)的支持的地方,都盡量做到與C的“source-link”方式相兼容。除了某些微小的細(xì)節(jié)差別之外,C++將C[Kernighan,1978][Kernighan,1988]作為一個(gè)子集包含了進(jìn)來(lái)。C++與C的兼容性使得C++程序員立刻就能有一個(gè)完整的語(yǔ)言和工具集可用。還有兩點(diǎn)也很重要,一是有大量關(guān)于C的高質(zhì)量的教學(xué)素材已經(jīng)存在,二是C++程序員可以利用C++與C的兼容性而直接并有效的使用大量現(xiàn)成的程序庫(kù)。

在決定將C作為C++的基礎(chǔ)的時(shí)候,C還沒(méi)有像后來(lái)那樣出類(lèi)拔萃、炙手可熱,所以在考慮這個(gè)問(wèn)題的時(shí)候,與C語(yǔ)言所提供的可適應(yīng)性和高效性相比,C語(yǔ)言的流行程度只是個(gè)次要的考慮因素。

然而,與C的兼容性也使得C++程序設(shè)計(jì)在某些語(yǔ)法和語(yǔ)義上保留了C的一些瑕疵之處。比如,C語(yǔ)言的聲明語(yǔ)法就實(shí)在遠(yuǎn)不及優(yōu)美;而其內(nèi)建型別的隱式轉(zhuǎn)換規(guī)則也是混亂無(wú)章法的。還有另一個(gè)大問(wèn)題,就是許多從C轉(zhuǎn)向C++的程序員并沒(méi)有認(rèn)識(shí)到,代碼質(zhì)量上的顯著提高只能通過(guò)在程序設(shè)計(jì)風(fēng)格上的顯著改變來(lái)達(dá)到。 

責(zé)任編輯:chenqingxiang 來(lái)源: 計(jì)世網(wǎng)
相關(guān)推薦

2010-03-04 10:11:17

Android手機(jī)系統(tǒng)

2010-01-28 09:54:27

C++程序設(shè)計(jì)

2010-01-26 17:16:33

C++應(yīng)用程序

2010-01-27 14:24:15

C++程序設(shè)計(jì)

2010-01-12 15:03:33

C++代碼

2010-01-13 18:30:18

CC++程序設(shè)計(jì)

2010-01-28 16:31:54

C++類(lèi)型

2011-07-10 15:36:54

C++

2010-01-15 10:32:21

C++語(yǔ)言

2010-01-11 10:34:22

C++程序

2010-01-26 14:46:42

C++語(yǔ)言

2010-01-18 10:16:58

學(xué)習(xí)C++

2010-02-05 17:09:19

C++創(chuàng)建Web服務(wù)

2010-01-08 16:10:59

C++語(yǔ)言

2010-01-13 10:16:42

C++軟件

2010-01-28 14:54:01

C++資源管理

2010-01-27 15:50:23

C++復(fù)雜性

2011-04-11 10:44:53

對(duì)象編程C++

2010-01-11 17:22:02

2010-01-19 17:54:47

C++程序
點(diǎn)贊
收藏

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