首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

深度解析 C++ 語言的核心設計原則

     編輯:C++ 入門

學習 C++ 的正確認知

學習 C++ 可視為學習一門獨立語言,不依賴 C 語言,可直接學習 C++,但需具備良好程式碼基礎與英語功底。C++ 設計原則在「完整型別安全」、「完全通用性」、「完善抽象之美」三方面要求與現實約束間尋求平衡。

從 Simula 借鑒與改進

C++ 從 Simula 借鑒使用者自訂型別與類別層次機制。但 Simula 中使用者自訂型別與內建型別支援存在根本差異:自訂型別對象只能在動態儲存區分配,內建型別只在堆疊分配。這種差異暗示對效率的嚴格考慮。C++ 致力解決:統一對待內建與自訂型別,消除執行期時空負擔,支援泛型程式設計中統一處理語義相近型別。

支援大型程式維護的機制

維護大型程式時,程式員常基於不完整知識修改局部代碼。C++ 提供 class、namespace、存取控制,使設計決策的局部化成為可能。在單遍編譯語言中,某些順序依賴不可避免,但 C++ 類別成員命名規則與多載解析規則獨立於宣告順序,降低混亂與錯誤可能性。

五大核心設計承諾

  • ◆ 使用傳統連結器
  • ◆ 與 C 語言無無謂不相容
  • ◆ 不給 C++ 更低層語言留餘地(組合語言除外)
  • ◆ 零負擔規則:不為不使用的特性付出代價
  • ◆ 產生疑惑時,提供完全自主控制途徑

與 C 的相容性:雙面刃

C++ 盡量與 C 的「source-link」方式相容,將 C 作為子集包含。相容性使 C++ 程式員立刻擁有完整語言與工具集,利用海量 C 教學素材與現成程式庫。但也保留了 C 的語法瑕疵(宣告語法不優美、內建型別隱性轉換規則混亂)。許多從 C 轉向 C++ 的程式員未認識到:代碼品質顯著提升只能通過程式設計風格顯著改變達到。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved