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

對(duì)C++的設(shè)計(jì)原則介紹

開(kāi)發(fā) 后端
C++的設(shè)計(jì)原則在某些語(yǔ)法和語(yǔ)義上保留了C的一些瑕疵之處。比如,C語(yǔ)言的聲明語(yǔ)法就實(shí)在遠(yuǎn)不及優(yōu)美,就是好多從C轉(zhuǎn)向C++的程序員并沒(méi)有認(rèn)識(shí)到。

C++的設(shè)計(jì)原則就是:學(xué)習(xí)C++而言,可以認(rèn)為他是一門(mén)獨(dú)立的語(yǔ)言,他并非依賴(lài)C語(yǔ)言,我們可以完全不學(xué)C語(yǔ)言,而直接學(xué)習(xí)C++,但是一定要擁有良好的代碼基礎(chǔ),和英語(yǔ)功底。

與在“完整的型別安全性”、“完全的通用性”以及“完善的抽象之美”這三個(gè)方面的要求形成對(duì)立。C++的設(shè)計(jì)原則從Simula中借鑒了用戶(hù)自定義型別(class,§4.1)和類(lèi)層次機(jī)制。然而,在Simula及許多類(lèi)似的語(yǔ)言中,其對(duì)用戶(hù)自定義型別的支持與其對(duì)內(nèi)建型別的支持存在著根本上的不同。例如,Simula中不允許在棧中為用戶(hù)自定。

而相反的,內(nèi)建型別的對(duì)象只在棧中被分配空間,不能在動(dòng)態(tài)存儲(chǔ)區(qū)中分配,而且不能使用指針指向它。這種在對(duì)待內(nèi)建型別與對(duì)待用戶(hù)自定義型別上的差異,暗示著對(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++的設(shè)計(jì)原則意欲涉足解決的問(wèn)題。同時(shí),在用法上的不同也決定了:不可能在范型程序設(shè)計(jì)中統(tǒng)一對(duì)待那些語(yǔ)義上近似的型別。

在維護(hù)一個(gè)較龐大的程序時(shí),一個(gè)程序員不可避免的會(huì)基于某些不完整的知識(shí)來(lái)對(duì)程序作一些修改,只關(guān)注全部程序代碼中的一小部分。基于此,C++提供了class(§4)、namespace(§5.2)和訪問(wèn)控制(§4.1),使設(shè)計(jì)決策的各異化(locality)成為可能。

在基于一趟編譯(one-pass compilation)的語(yǔ)言中,某些順序上的依賴(lài)性是不可避免的。例如在C++的設(shè)計(jì)原則中,一個(gè)變量或者函數(shù)在其被聲明之前是無(wú)法使用的。然而,C++中類(lèi)成員的名字規(guī)則和重載解析(overload resolution)的規(guī)則還是在獨(dú)立于聲明順序的原則下被制定出來(lái),以便將發(fā)生混亂和錯(cuò)誤的可能性降至***。

◆使用傳統(tǒng)的(笨拙的)連接器(linker);

◆與C語(yǔ)言不存在無(wú)故的不兼容性;

◆不給C++之下層級(jí)的更低層語(yǔ)言留出余地(匯編語(yǔ)言除外);

◆你不會(huì)為你所不使用的部分付出代價(jià)(零負(fù)荷規(guī)則);

◆在產(chǎn)生疑惑時(shí),能提供完全自主控制的途徑。

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ù)。#t#

在決定將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)源: 新浪科技
相關(guān)推薦

2010-01-15 19:34:25

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

2010-01-15 15:52:18

CC++

2010-01-15 10:41:06

CC++

2011-05-31 17:59:48

C++

2011-04-11 09:23:27

設(shè)計(jì)目標(biāo)原則C++

2010-01-22 10:36:25

C++語(yǔ)言

2010-01-25 18:19:17

C++特性

2010-01-25 18:19:17

C++特性

2010-01-25 18:19:17

C++特性

2021-09-13 10:30:42

C++代碼設(shè)計(jì)模式

2010-01-14 13:39:45

Visual C++優(yōu)

2010-01-21 16:45:02

C++設(shè)計(jì)目標(biāo)

2010-01-11 17:34:37

C++語(yǔ)言

2010-01-19 18:35:12

靜態(tài)成員

2010-01-28 14:11:43

C++迭代器

2010-01-27 14:24:15

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

2010-01-11 17:43:23

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

2010-01-19 18:04:02

C++標(biāo)準(zhǔn)程序庫(kù)

2011-06-17 16:09:04

freadfwrite

2010-01-26 10:27:43

C++語(yǔ)言
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 欧美精品一区在线发布 | 成人伊人| 国产精品免费一区二区三区 | 美女国产精品 | 91在线| 午夜黄色 | 精品久久国产视频 | 亚洲美女一区 | 亚洲在线一区 | 精品1区2区 | 精品综合在线 | 中文字幕乱码一区二区三区 | 在线视频 亚洲 | 国产欧美精品一区二区三区 | 亚洲精品免费观看 | 黄色网一级片 | 超碰97人人人人人蜜桃 | 欧美精品乱码99久久影院 | 国产一区二区三区在线 | 日韩精品久久久久 | 91国自产 | 国产日产欧产精品精品推荐蛮挑 | 天天综合91| 国产精品一区二区三区在线 | 日本偷偷操 | 免费h在线| 久草中文网 | 97精品超碰一区二区三区 | 草草视频在线免费观看 | 欧美精品一区二区在线观看 | 99精品99久久久久久宅男 | 91性高湖久久久久久久久_久久99 | 久久一区二区视频 | aaa天堂| 99在线资源 | 九九热免费看 | 日韩成人影院 | 亚洲国产小视频 | 成人在线播放网址 | 日韩精品久久 | 91资源在线 |