string类的模拟实现

上一期讲解了STL的小知识点,这一期就进行string底层模拟实现

其中短小频繁调用的函数,就可以直接定义到类里面,默认是inline

接下来是迭代器的实现

然后就会进行声明和定义分离

我们首先实现上面几个函数,要插入数据就要先检查空间是否足够,若不够,就要先进行扩容

其中_str_[size]='\0'一定不要忘记,不然会无限打印,报错

接下来是查找

截取字符串

走到这里发生了报错吗、,这里涉及了深拷贝的问题,需要写拷贝构造

设置为全局函数

单参数隐式类型转换,字符串转为string,也是设为全局函数 的原因,若为成员函数,是一个const cha*不是string对象,无法调用成员函数

最后流插入流提取

相关推荐
small_wh1te_coder几秒前
拷打字节技术总监: 详解c语言嵌入式多线程编程中的头文件 #总结 上下篇合 #
c语言·开发语言·算法·操作系统·嵌入式
wangjialelele3 分钟前
现代C++:C++17新特性整理
c语言·开发语言·c++·visual studio code
字节高级特工4 分钟前
C++从入门到熟悉:深入剖析const和constexpr
前端·c++·人工智能·后端·算法
Cathy Bryant4 分钟前
聊聊拓扑学
笔记·算法·数学建模·拓扑学·高等数学
Lisssaa5 分钟前
打卡第二十七天
算法
The森9 分钟前
macOS 26(M芯片)部署 cocos2d-x(C++)全链路指南——Xcode + Rosetta
c++·经验分享·笔记·macos·xcode·cocos2d
XWalnut9 分钟前
LeetCode刷题 day2
算法·leetcode·职场和发展
Tisfy10 分钟前
LeetCode 2946.循环移位后的矩阵相似检查:模拟(左即是右)
算法·leetcode·矩阵·题解
SadSunset12 分钟前
第四章:Redis 数据结构与命令
数据结构·数据库·redis
王璐WL13 分钟前
【C++】构造函数+类型转换+static成员
c++