cstringC 语言字符串处理库

联合创作 · 2023-09-28

cstring 是一个简单的 string 库,它主要解决以下几个问题:

  • 对于短字符串(小于32字节),进行string interning。这可以在文本处理时节省足够的内存。短字符串相当于symbol类型,对它做比较操作的代价可以减少到O(1)。
  • 对于临时字符串,如果长度不大(小于128字节),应放在堆栈上,避免动态内存分配。
  • 支持常量字符串,对于常量短字符串只做一次string interning操作。
  • 使用引用计数管理相同的字符串,减少字符串的副本。
  • 短字符串,常量字符串,以及引用次数非常多(大于64K次)的字符串可以不动态释放,简化生命期管理。
  • 惰性计算,以及缓存字符串的hash值,以方便实现hashmap。
  • 这个库是线程安全的。
浏览 4
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报