string类的模拟实现

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

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

接下来是迭代器的实现

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

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

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

接下来是查找

截取字符串

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

设置为全局函数

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

最后流插入流提取

相关推荐
Tyler_TXZ7 分钟前
C++C语言之——二叉树
c语言·开发语言·数据结构·c++·二叉树
Tisfy16 分钟前
LeetCode 3090.每个字符最多出现两次的最长子字符串:二重循环 / 滑动窗口
算法·leetcode·字符串·题解·模拟·双指针·滑动窗口
-dzk-17 分钟前
【技巧】LC 136.只出现一次的数字
算法·异或
不会代码的小猴31 分钟前
C++新增关键字
开发语言·c++·笔记
专注仿真1 小时前
问答大模型技术方案算法实现-RAPTOR树构建算法与BEG集成使用
python·算法
liulilittle2 小时前
并发与内存安全术语:定义、分类与关联
c++·安全·并发·术语
_wyt0012 小时前
从图到树:9道洛谷基础题带你入门树形结构
c++·
zlinear数据采集卡2 小时前
数据采集卡从入门到精通(10):采样率与分辨率的核心关系——反比律、架构分布与过采样
arm开发·嵌入式硬件·算法·fpga开发·架构·开源
Titan20243 小时前
Linux网络基础知识
linux·服务器·网络·c++·学习
白狐_7983 小时前
408 数据结构|线索二叉树两题详解:先序线索化后的空链域 + 中序前驱/后继判断
c语言·数据结构·链表