简单string类c++实现

只实现了普通构造,拷贝构造,析构和赋值四个操作。

但坑比想象的多。

坑1:普通构造如果是nullptr,也要给data分配一个字节空间存放‘\0’,因为空字符串有一个‘\0’

坑2:拷贝构造传参必须用引用,如果是单纯的传实例,调用拷贝构造时需要一个形参存放实例,又相当于一次拷贝构造,陷入死循环

坑3:用strlen()求的是s的长度,但不包含‘\0’,可strcpy时‘\0’是一起拷贝的,所以分配空间时是

strlen(s.data)+1

简单string类c++实现

 简单string类c++实现

 

上一篇:C语言 strlen 函数 - C语言零基础入门教程


下一篇:FormData的详细介绍及使用 - 【转载】