SDS = simple dynamic string = 简单动态字符串
理解
Java的数组和List
数组:长度固定,如果一直添加元素,超过数组长度会报错
List:长度动态,如果一直添加元素,容量不够会自动扩容
底层还是数组,只不过封装了扩容等操作,并记录了长度
C的字符串和SDS
字符串:即字符数组,长度固定,如果concat超出长度,会报错
SDS:长度动态,如果concat超出长度,会自动扩容
底层还是字符数组,只不过封装了扩容等操作,并记录了长度
小结
顾名思义,动态字符串,动态扩容,无需开发人员手动扩容,此外还会记录字符串的使用/空闲空间,即对字符串的一种封装