實現自己的字串類String

2021-07-10 17:27:55 字數 2397 閱讀 5144

因為string預分配與sds上比較有些不足,所以重新封裝了自己的字串類string。

fdb_string.h

fdb_string.h

fdb中的字串類。

以有文件,見compare_string_sds.md

new的使用仍有瓶頸。

且存在new的遺留問題。

class string

;

友元函式:
1.friend bool operator<(const string &lhs, const string &rhs);

以lhs物件和rhs物件中的str成員比較大小。若lhs大於rhs則返回ture,否則返回false。

2.friend bool operator>(const string &lhs, const string &rhs);

以lhs物件和rhs物件中的str成員比較大小。若lhs小於rhs則返回ture,否則返回false。

3.friend bool operator==(const string &lhs, const string &rhs);

判斷lhs物件和rhs物件中的str成員相等。若相等返回ture,否則返回false。

4.friend bool operator!=(const string &lhs, const string &rhs);

判斷lhs物件和rhs物件中的str成員相等。若不相等返回ture,否則返回false。

5.friend std::ostream& operator<<(std::ostream &os, const string &rhs);

將rhs物件中str物件列印出來。

6.friend std::istream& operator>>(std::istream &is, string &rhs);

將is流內的資料寫入rhs物件內。

7.friend string operator+(const string &lhs, const string &rhs);

將lhs物件和rhs物件向加,返回向加後的結果。

8.friend string operator+(const string &lhs, const char *rhs);

將lhs物件和rhs陣列向加,返回向加後的結果。

成員函式:
1.int getsize() const;      

獲取當前字串已用空間,無參

2.int getfree() const;

獲取字串空閒空間,無參

3.void print();

列印字串,無參

4.string &stringadd(const string &str2);

向字串新增string型別內容。引數str2為需要新增的string類字串。返回新增後的字串。

5.string &stringadd(const char *s);

向字串新增char *型別的內容.引數s為需要新增的char *型別字串。返回新增後的字串。

6.string &stringclear();

清除字串內容,無參,返回清除後的字串。

7.string &stringsizeclear(size_t pos, size_t len);

以pos開始清除之後len長度的內容,引數以說明,返回清除後的字串。

8.string &stringchange(const char *s);

修改字串為s。引數s為代替原字串的char*型別字串。返回改變後的字串。

9.string &stringchange(const string &str2);

修改字串為str2。引數str為代替原字串的string類型別字串。返回改變後的字串。

10.string & operator=(const string &rhs);

賦值運算子。將rhs物件賦值給this物件。返回this物件。

11.string & operator=(const char *rhs);

行參為char* 的賦值運算子。將rhs陣列賦值給this物件。返回this物件

12.char& operator(int i);

下標運算子。獲取this物件中str成員下標為i的引用。

13.string& operator+=(const string &rhs);

復合賦值運算子。將rhs物件與this物件相加並賦值給this物件。

14.string& operator+=(const char *rhs);

行參為char *的復合賦值運算子。將rhs陣列與this物件相加並賦值給this物件。

String字串類實現

1 class string 2 建構函式string string const char str else string str hell0 3 析構函式string string 4 拷貝構造string string const string other string s1 hello str...

c 字串類String的實現

include class string string string strobj string const char tostring int getlength string operator string strobj string operator char s string operato...

字串類string的基本實現

包含指標成員的類深賦值運算子過載,類設計,類的預設 拷貝建構函式,析構函式 實驗參考 class string 預設建構函式 string string 自定義建構函式 string string const char str else 拷貝建構函式 string string const stri...