1、duilib入门基础类CduiString

本文详细介绍了CDuiString的实现原理,包括其内部结构、字符串处理方式及比较操作注意事项。CDuiString采用类似于std::string的设计,利用64字节的小缓冲区来提高字符串操作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、sizeof(CDuiString)的大小是68字节:4字节的字符串指针+64字节的缓冲区。

  这里使用64字节的额外缓冲区的目的是为了以空间换时间的方法,当遇到长度小于64的字符串时候直接使用该缓冲区而不用每次去申请内存。

  这里跟std::string类似,都是使用小缓冲区来保留大小。std::string是28字节:4总长度+4当前字符长度+16字节联合体(16字节buf,4字节指针)+4字节的内存构造类。

2、CDuiString使用的是以字符串为结尾的方式进行计算当前的字符串的长度。当长度为X小于64的时候需要注意后面的64-X的内存是不为零的。

3、CDuiString没有全局的CDuiString operator==(const CDuiString&, const CDuiString&);所以在使用上需要注意判断相等不要使用程序员很容易出现的常量放在前面的状况。

转载于:https://www.cnblogs.com/cxiaoln/p/4374586.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值