SDS相对C语言的字符串的优点:
- 可以直接获取字符串长度O(1)
- 拼接时自动扩容,保证安全性
使用free字段实现空间预分配优化字符串增长操作,防止频繁地调用malloc分配和释放内存空间
使用free字段实现惰性空间释放优化字符串缩短操作,记录需要回收的字符串长度,待之后使用
- 更加安全,使用len来判断字符的末尾而非'\0',因此SDS的字符串中可以保存空字符
- 兼容C的一些API,分配字符的时候依然会在字符串的末尾加入'\0'
SDS相对C语言的字符串的优点:
使用free字段实现空间预分配优化字符串增长操作,防止频繁地调用malloc分配和释放内存空间
使用free字段实现惰性空间释放优化字符串缩短操作,记录需要回收的字符串长度,待之后使用
本文标题:第二章 简单动态字符串SDS
本文链接:https://www.haomeiwen.com/subject/exicrctx.html
网友评论