天天看點

String類

将strvec類的一些變量進行全局替換就能得到string類

1、string替換為char

2、str替換為c,strs替換為c

3、strvec替換為string

4、#include <string>替換為#include<cstring>

strvec和string就是類似的

1、都是儲存指向元素的指針,指向的空間都是在内中動态配置設定的。

2、拷貝構造函數、拷貝指派運算符拷貝strvec(string)類的成員和指向的元素(拷貝指派運算符有析構指向空間的過程)

3、析構函數都是析構指針指向的空間。

不同點:

reallocate:

    strvec:是移動原空間的資料到新空間,釋放原空間的string對象,不釋放string指向的char元素(移動後原string指向的空間為nullptr)

    string:移動char後,不會釋放char

    原因是strvec有兩層指向,最基礎的一層是不能銷毀的,否則移動到新空間的資料被銷毀了(這個地方還了解去清楚)

string.cpp

繼續閱讀