构造一个string 类
为了实现一个string类需要那些构造函数呢?
- 拷贝构造函数, 注意拷贝构造函数一定要加引用& 要不然会陷入到无限调用拷贝构造函数中
- 构造函数传递一个char指针,来初始化string 封装的char 指针,int strlen(char) 这个函数返回char 指针有多少个元素,但是一般构造char* 的内存时候,基于strlen() 得到的元素数量再 + 1,最后一个元素放置'\0', strcopy(char* c1, char* c2),将c2 的内容复制到c1。
- 拷贝赋值运算符 string& string::operator=(const string& str)
- 移动构造函数 string::string(string&& str) 移动构造函数相比拷贝构造函数,就是一个浅拷贝
- 移动复制构造函数 string& string::operator=(string&& str)