C++string类,如果中间加个‘/0’,会不会影响长度计算。

今天看redis源码的时候,觉得sds有点像C++中的string。在C语言字符数组中,如果中间有‘/0’,计算长度就会只计算'/0'前的字符。

SDSHDR结构体加了一个len长度来记录长度,解决了这个问题,使得sds不仅可以存储文本,还可以存储二进制。

突发奇想string会不会也是这样,事实证明,也可以。

 

posted on 2019-08-22 17:15  长岛的雪  阅读(1943)  评论(0编辑  收藏  举报