如何使用 String 類別
C 並不具備字串的資料型別,字串對 C 而言不過是位元組的陣列,所以字串的操作必須靠函式庫來達成。
而在 C++ 中,我們可以製作出類似其他語言字串的類別; VCL 即定義了一個 AnsiString 類別,可用來操作動態字串。
註: String 在 SYSDEFS.H 中被 typedef 為 AnsiString 。
AnsiString
類別包含一個指標,指向一個記錄 (record)。這個記錄包含參考計數
(reference count)、字串長度及本文。
而每一個字串的產生都需要到"堆積區"(heap)配置記憶體;並且當你想將
AnsiString 設定給另一個時,只要把參考計數+1,以及將新變數的指標指向該記錄即可,就不會有額外的記憶體配置及字串複製的工作了。
在 dstring.h 中定義了 AnsiString 的建構子 :
( dstring.h 通常會自行引入,但當製作一些 Console APP 時,可能需要 #include)
AnsiString 也定義了許多操作元和函式 :
1.比較運算子 (==,!=,<,>,<=,>=)
2.轉換為 C (c_str)
3.查詢字串屬性
4. 字串唯一化 (Unique)
5. 修改字串
6. 轉換字串
在 dstring.h 及 sysdefs.h 中,還有很多有用的資訊,花些時間研究,會對 AnsiString 的了解很有幫助。