C++string类,如果中间加个‘/0’,会不会影响长度计算。
今天看redis源码的时候,觉得sds有点像C++中的string。在C语言字符数组中,如果中间有‘/0’,计算长度就会只计算'/0'前的字符。
SDSHDR结构体加了一个len长度来记录长度,解决了这个问题,使得sds不仅可以存储文本,还可以存储二进制。
突发奇想string会不会也是这样,事实证明,也可以。

今天看redis源码的时候,觉得sds有点像C++中的string。在C语言字符数组中,如果中间有‘/0’,计算长度就会只计算'/0'前的字符。
SDSHDR结构体加了一个len长度来记录长度,解决了这个问题,使得sds不仅可以存储文本,还可以存储二进制。
突发奇想string会不会也是这样,事实证明,也可以。
