标签:
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&);所以在使用上需要注意判断相等不要使用程序员很容易出现的常量放在前面的状况。
标签:
原文地址:http://www.cnblogs.com/cxiaoln/p/4374586.html