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

C++兼容性真的很差嗎

開發 后端
C語言的兼容性要比C++兼容性要好,但是C++遇到的最大問題就是在運行某些語法和語義上卻有一些不兼容的地方。

從C語言開發到C++開發的技術人員們沒有想到的是,代碼質量上的顯著提高只能通過在程序設計風格上進行改變,對于C++兼容性問題,一個變量或者函數在其被聲明之前是無法使用的。

C++的每一步演化和發展必須是由于實際問題所引起的;C++是一門語言,而不是一個完整的系統;不能無休止的一味追求***;C++在其存在的“當時”那個時期必須是有用處的;

每一種語言特性必須有一個有根據的、明確的實現方案;總能提供一種變通的方法;能為意欲支持的每一種程序設計風格提供易于理解的支持方法;不強制于人。可以注意到,基本規則的***三條暗示了兩點:

對適用于真實世界中各種應用的便捷工具的強調;對程序員的技術和取向(偏好)的充分考慮。從一開始,C++面向的就是那些要做實際項目的程序員。所謂的“***”被認為是不可能達到的。

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

支持良好的設計方案;提供用于程序組織的語言設施;心口如一(Say what you mean);所有的語言特性必須具有切實有效的承受能力;開啟一個有用的特性比避免所有的誤用更為重要;

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

然而,C++的設計目標總還是在于要支持一定范圍內的各種程序設計風格和設計思想。這與一般在語言設計方面的觀點形成一定對比。一般在語言設計上總是試圖將所有系統內建于單獨一個被重點支持的、帶有強制性的程序設計風格之中(或稱典范paradigm)。

與靜態型別系統(Static type system)沒有內在的沖突;像對內建(built-in)型別一樣對用戶自定義型別提供很好的支持;個異化(locality)行為是可取的;避免產生順序上的依賴關系;在對語言產生疑惑時,可以選取其特性中最易掌握的部分;

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

C++從Simula中借鑒了用戶自定義型別(class,§4.1)和類層次機制。然而,在Simula及許多類似的語言中,其對用戶自定義型別的支持與其對內建型別的支持存在著根本上的不同。例如,Simula中不允許在棧中為用戶自定義型別的對象分配空間,并且只允許通過指針(這在Simula中稱為引用——reference)來對這些對象進行訪問。而相反的,內建型別的對象只在棧中被分配空間,不能在動態存儲區中分配,而且不能使用指針指向它。

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

而這些負荷在有些應用中被認為是不可接受的。這些正是C++兼容性解決的問題。同時,在用法上的不同也決定了:不可能在范型程序設計中統一對待那些語義上近似的型別。

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

在基于一趟編譯(one-pass compilation)的語言中,某些順序上的依賴性是不可避免的。例如C++兼容,一個變量或者函數在其被聲明之前是無法使用的。然而,C++中類成員的名字規則和重載解析(overload resolution)的規則還是在獨立于聲明順序的原則下被制定出來,以便將發生混亂和錯誤的可能性降至***。

【編輯推薦】

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

2010-01-20 10:14:53

C++程序

2013-03-20 18:14:35

架構架構設計項目

2025-05-06 09:35:00

2023-04-17 19:43:54

兼容性測試軟件測試

2009-08-17 10:22:19

C# Windows

2022-08-22 15:32:59

C++C代碼

2009-03-07 09:49:07

Windows 7兼容性

2010-02-23 16:21:24

Python Win

2010-03-02 17:22:46

Android技術

2016-04-21 09:43:33

編程音樂

2010-01-26 09:24:53

C++語言

2010-01-15 16:45:35

C++語言

2010-01-21 10:23:53

C++代碼

2011-08-16 15:17:44

IOS SDK

2023-03-24 07:31:58

Oracle兼容性產品

2021-12-27 16:22:19

鴻蒙HarmonyOS應用

2010-03-05 17:09:18

2021-08-31 10:52:30

容量背包物品

2010-01-20 17:23:03

C++編程語言

2009-12-09 15:16:33

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕一区二区在线观看 | 国产日韩欧美 | av激情在线 | 香蕉视频91| 日韩无 | 国产精品美女久久久久aⅴ国产馆 | 亚洲一区二区 | 久久亚洲一区二区三区四区 | 少妇午夜一级艳片欧美精品 | 色欧美片视频在线观看 | 国产一区二区三区免费 | 99成人 | 亚洲精品国产a久久久久久 午夜影院网站 | www.夜夜草 | 欧美日韩在线免费观看 | 超碰超碰 | 午夜在线电影网 | 在线播放亚洲 | 成人亚洲视频 | 成人福利网站 | 成人av高清| 国产男人的天堂 | 免费观看黄 | 日韩在线小视频 | 久久久久久久久久一区 | 国产999精品久久久久久 | 91porn在线| 国产一区二区三区不卡av | 91中文字幕在线 | 国产精品一卡 | 亚洲第一天堂无码专区 | 精品国产一区二区三区久久狼黑人 | 在线日韩精品视频 | 中文在线视频观看 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 日本免费在线 | 国产高清视频在线 | 成人免费精品视频 | www.一区二区三区 | 成人精品国产免费网站 | 99色播|