介绍一个模拟std::string的类

 

       今天我们来编写一个模拟C++标准库中std::string的类。

       大家都知道,在C++标准库中有一个string类,提供了一系列字符串相关的操作,简洁、方便、可靠。但是,如果由于种种原因,我们无法得到STL的支持怎么办?求人不如求己,让我们自己设计一个类(名为MyString),模仿std::string的功能,同时复习一下相关的语言知识吧!

 

1 数据成员

 

 

2 成员函数

       将成员函数分为2类。一类作为接口,声明为public;另一类在MyString内部使用,声明为protected

2.1 接口函数

2.1.1 构造函数和析构函数

       作为接口中的接口,构造函数可要设计好,设计全。就像吃烤鸭,黄瓜条、葱丝、甜面酱,一个都不能少:

 

2.1.2 运算符重载函数

       作为对std::string的模仿,需要支持赋值运算=+=;关系运算==><和下标运算符[]

2.1.3 MyString类属性函数

 

2.1.4 字符串操作函数

2.2 辅助函数

3 结尾

       以上就是模拟std::stringMyString的实现。怎么样,是不是对字符串的理解又加深了一步呢?这个类来自于开源项目TimyXml2.1.1中一个字符串类(TiXmlString),在后续的版本中该类还有不小的变化,有兴趣的网友可以在网上搜一下其源代码自己研究。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值