开发者社区 问答 正文

SDS是如何避免缓冲区溢出的?

SDS是如何避免缓冲区溢出的?

展开
收起
不吃核桃 2024-08-13 23:40:09 62 分享 版权
1 条回答
写回答
取消 提交回答
  • SDS通过记录当前已分配的内存大小(alloc)和已使用的字符串长度(len),在进行字符串拼接等操作时,会先检查剩余空间是否足够。如果不足,会先进行空间扩展,从而避免了缓冲区溢出的风险。相比之下,C语言字符串在拼接时如果目标缓冲区大小不足,则可能导致缓冲区溢出。

    2024-08-14 08:04:56
    赞同 3 展开评论
问答地址: