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

什么是C++語言的設計原則

開發 后端
C++語言只不過是一種開發語言,而不是一個完整的系統;不能一度的追求C++語言的完美,畢竟部分的設計還是有瑕疵的地方。

下面著重講述學習C++語言時碰到的相關難題和問題,以及學習C++語言的技巧,以及如何更好的進行C++的學習?這些問題都困擾著許多開發人員進行開發活動。

C++在其存在的“當時”那個時期必須是有用處的;每一種語言特性必須有一個有根據的、明確的實現方案;總能提供一種變通的方法;能為意欲支持的每一種程序設計風格提供易于理解的支持方法;不強制于人。

可以注意到,基本規則的***三條暗示了兩點:對適用于真實世界中各種應用的便捷工具的強調;對程序員的技術和取向(偏好)的充分考慮。從一開始,C++面向的就是那些要做實際項目的程序員。

所謂的“***”被認為是不可能達到的,這是由于C++用戶在需求、背景和待解決問題上存在著太大的不同。況且,在一門通用目的的程序設計語言的整個生存期之內,連對“***”一詞的詮釋都可能會有極大的改變。由此可知,在語言的演化過程中,來自用戶的反饋和語言實現者們積累的經驗才是最為重要的。

[基于設計的規則(Design-support rules)]支持良好的設計方案;提供用于程序組織的語言設施;心口如一(Say what you mean);所有的語言特性必須具有切實有效的承受能力;開啟一個有用的特性比避免所有的誤用更為重要;能將獨立開發的部件組合成完整的軟件。

C++的一個目標就是提供更易用并具有一定承受能力的設計思想和程序設計技術,進一步提高程序的質量。這些技術中的絕大部分都源自Simula [Dahl,1970][Dahl,1972][Birtwistle,1979],并通常被作為面向對象程序設計和面向對象設計思想來討論。

然而,C++的設計目標總還是在于要支持一定范圍內的各種程序設計風格和設計思想。這與一般在語言設計方面的觀點形成一定對比。一般在語言設計上總是試圖將所有系統內建于單獨一個被重點支持的、帶有強制性的程序設計風格之中(或稱典范paradigm)。[語言的技術性規則(Language-technical rules)]與靜態型別系統(Static type system)沒有內在的沖突;像對內建(built-in)型別一樣對用戶自定義型別提供很好的支持;

個異化(locality)行為是可取的;避免產生順序上的依賴關系;在對語言產生疑惑時,可以選取其特性中最易掌握的部分;可以因為不正當的語法使用而產生問題(Syntax matters (often in perverse ways))削弱對預處理器的使用。

當然,這些規則要具體結合更多關于基本目標的上下文環境來考慮。應該注意到的是,在“與C有較高的兼容性”、“不損失效率”以及“具有便捷的可用性來解決實際問題”這三個方面的要求,與在“完整的型別安全性”、“完全的通用性”以及“完善的抽象之美”這三個方面的要求形成對立。

C++從Simula中借鑒了用戶自定義型別(class,§4.1)和類層次機制。然而,在Simula及許多類似的語言中,其對用戶自定義型別的支持與其對內建型別的支持存在著根本上的不同。#t#

例如,Simula中不允許在棧中為用戶自定義型別的對象分配空間,并且只允許通過指針(這在Simula中稱為引用——reference)來對這些對象進行訪問。而相反的,內建型別的對象只在棧中被分配空間,不能在動態存儲區中分配,而且不能使用指針指向它。

這種在對待內建型別與對待用戶自定義型別上的差異,暗示著對效率問題的嚴格考慮。比如,當作為一個在動態存儲區中被分配的對象之引用時,如果該對象屬于自定義型別(比如complex,§4.1),那么就會為運行期及空間帶來負荷;

而這些負荷在有些應用中被認為是不可接受的。這些正是C++意欲涉足解決的問題。同時,在用法上的不同也決定了:不可能在范型程序設計中統一對待那些語義上近似的型別。在維護一個較龐大的程序時,一個程序員不可避免的會基于某些不完整的知識來對程序作一些修改,只關注全部程序代碼中的一小部分。

責任編輯:chenqingxiang 來源: NET130
相關推薦

2010-01-11 17:34:37

C++語言

2010-01-28 10:01:28

C++的設計原則

2011-04-11 09:23:27

設計目標原則C++

2011-05-31 17:59:48

C++

2021-09-13 10:30:42

C++代碼設計模式

2011-07-05 16:57:53

C語言

2010-01-22 10:26:40

C++語言

2010-01-13 14:05:55

C++語言

2010-01-28 15:38:57

學習C++意義

2010-01-15 17:38:37

C++語言

2010-01-22 15:14:37

學習C++

2019-08-02 14:47:39

編程語言程序員C語言

2010-01-27 16:33:07

C++中標準輸入

2011-05-24 17:20:57

程序員

2021-05-18 20:07:18

光通信信息

2024-02-19 08:19:25

結構化綁定C++17C++

2011-10-27 13:37:51

網頁設計

2010-01-22 15:30:36

C++語言

2010-01-15 14:46:20

C++語言

2025-05-20 10:00:00

C++命名空間別名代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧洲精品一区 | 一区二区三区在线看 | 一区二区三区亚洲 | 精品久久香蕉国产线看观看亚洲 | 国产在线区| 夜夜草| 国产亚洲区 | 天天操天天射综合 | 国产片侵犯亲女视频播放 | 91精品国产色综合久久 | 国产一级电影在线观看 | 欧美网站一区二区 | 久久国产精品久久久久 | 国产精品一区二区在线 | 午夜精品一区二区三区在线播放 | 免费久 | 草久久免费视频 | 亚洲精品日本 | 欧美日韩一区二区三区四区 | 成人影院网站ww555久久精品 | 亚洲精品一区二区三区中文字幕 | 久久草视频 | 在线日韩不卡 | 日韩国产专区 | 久草新在线 | 日韩成人一区二区 | 精品视频一区二区三区 | 亚洲成人免费视频在线 | 日韩成人av在线播放 | 国产精品永久免费视频 | 91影院在线观看 | 伊伊综合网 | 欧美日韩高清在线一区 | 一本色道精品久久一区二区三区 | 亚洲性视频 | 亚洲精品天堂 | 国产精品视频中文字幕 | 亚洲国产视频一区 | 亚洲成人999 | 久久精品视频网站 | 亚洲一区二区三区免费视频 |