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

C++探索之旅(二·一):面向對象初探——string 內存管理與封裝機制深度解析

     編輯:關於C++

面向對象核心思想

將數據(屬性)與操作(方法)封裝為「對象」。使用者只需知道「按鈕」(公有接口),無需關心內部「化學實驗」(實現細節)。

string 為何是對象?

基本類型(int/float)只存數值。string 內部管理:動態字符數組、長度、容量、內存分配/釋放、拷貝構造、賦值運算、SSO(小字符串優化)等。

ASCII 與字符存儲

電腦只識別數字。ASCII 表建立數字↔字符映射:'A'=65, 'a'=97。char 類型存單字符(1 字節),字符串本質是 char 數組。

string 對象常用操作

操作代碼示例說明
創建初始化string s("Hello");構造函數或賦值
修改內容s = "World";自動內存重分配
拼接s3 = s1 + " " + s2;運算符重載
比較if (s1 == s2)逐字符比較
長度s.size()返回字符數
清空s.erase();等同 s = ""
子串s.substr(3); / s.substr(2,4)從索引 3 到末尾 / 索引 2 長度 4
下標訪問s[3]返回第 4 個字符

封裝帶來的便利

string s = "Hello";
s = "How are you?";  // 一行代碼背後:
// 1. 檢查原容量是否足夠
// 2. 不夠則分配新內存
// 3. 拷貝新內容
// 4. 釋放舊內存
// 5. 更新長度、容量指標

屬性與方法術語

  • 屬性 = 成員變量 = 數據成員
  • 方法 = 成員函數 = 函數成員
  • 調用語法:object.method()

下一課預告

「掀起『類』的蓋頭來(一)」,學習自定義類、構造函數、訪問控制、封裝實現。

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