3-31(string底層實現)

前些天,由於效率低下,去玩了2天,今天回來接着學。數組

今天主要學習了簡單string的實現,以及string的遍歷和增刪改查的增;ide

string的簡單實現主要包括構造函數、析構函數、拷貝構造函數的實現。函數

構造函數須要注意的是:一、得注意應該單獨開闢一個空間來存放傳遞的參數,應該在堆上面。二、當不須要傳參時,不能使string對象中的指針爲nullptr,由於若是對該指針解引用時,會出錯,由於空指針不能解引用,因此當不傳任何實參時,也應該使其開闢一個字節的空間,來存放\0,表示數組存在。學習

拷貝構造函數須要注意的是:避免淺拷貝,淺拷貝可能會出現析構2次同一塊地址,因此須要深拷貝,深拷貝原理就是開闢一塊和被拷貝的對象同樣大的空間,delete舊的空間,而後指針指向新開闢的地址,就搞定了。指針

增須要注意的就是內存不足時,須要開闢新的空間,可是得記住開闢得空間應該比strlen求得的大一個字節,由於得爲\0留一個空間。
對象

相關文章
相關標籤/搜索