string类的模拟实现

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

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

接下来是迭代器的实现

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

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

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

接下来是查找

截取字符串

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

设置为全局函数

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

最后流插入流提取

相关推荐
运筹vivo@16 分钟前
LeetCode 2405. 子字符串的最优划分
c++·算法·leetcode·职场和发展·哈希表
数智工坊17 分钟前
视觉-语言-动作模型解剖学:从模块、里程碑到核心挑战
论文阅读·人工智能·深度学习·算法·transformer
yuannl1027 分钟前
数据结构----二叉排序树(ai修改版)
数据结构
有点。44 分钟前
C++(枚举法一练习题)
开发语言·c++·算法
basketball6161 小时前
C++ 单例模式完全指南:从饿汉式到现代 C++ 的最佳实践
java·c++·单例模式
黎阳之光1 小时前
视听融合新范式!黎阳之光打破视觉边界,声影协同赋能全域智慧管控
大数据·人工智能·物联网·算法·数字孪生
iiiiyu1 小时前
集合进阶(Map集合)
java·大数据·开发语言·数据结构·编程语言
小江的记录本1 小时前
【Java基础】核心关键字:final、static、volatile、synchronized、transient(附《思维导图》+《面试高频考点清单》)
java·前端·数据结构·后端·ai·面试·ai编程
玖釉-1 小时前
栈——栈的定义及基本操作
c++·windows·算法·图形渲染
不想写代码的星星1 小时前
C++ 内存序六件套:从完全同步到爱咋咋地
c++