3-31(string底层实现)

前些天,由于效率低下,去玩了2天,今天回来接着学。数组

今天主要学习了简单string的实现,以及string的遍历和增删改查的增;ide

string的简单实现主要包括构造函数、析构函数、拷贝构造函数的实现。函数

构造函数须要注意的是:一、得注意应该单独开辟一个空间来存放传递的参数,应该在堆上面。二、当不须要传参时,不能使string对象中的指针为nullptr,由于若是对该指针解引用时,会出错,由于空指针不能解引用,因此当不传任何实参时,也应该使其开辟一个字节的空间,来存放\0,表示数组存在。学习

拷贝构造函数须要注意的是:避免浅拷贝,浅拷贝可能会出现析构2次同一块地址,因此须要深拷贝,深拷贝原理就是开辟一块和被拷贝的对象同样大的空间,delete旧的空间,而后指针指向新开辟的地址,就搞定了。指针

增须要注意的就是内存不足时,须要开辟新的空间,可是得记住开辟得空间应该比strlen求得的大一个字节,由于得为\0留一个空间。
对象

相关文章
相关标签/搜索