cstringC 語言字符串處理庫
cstring 是一個簡單的 string 庫,它主要解決以下幾個問題:
- 對于短字符串(小于32字節(jié)),進行string interning。這可以在文本處理時節(jié)省足夠的內(nèi)存。短字符串相當于symbol類型,對它做比較操作的代價可以減少到O(1)。
- 對于臨時字符串,如果長度不大(小于128字節(jié)),應(yīng)放在堆棧上,避免動態(tài)內(nèi)存分配。
- 支持常量字符串,對于常量短字符串只做一次string interning操作。
- 使用引用計數(shù)管理相同的字符串,減少字符串的副本。
- 短字符串,常量字符串,以及引用次數(shù)非常多(大于64K次)的字符串可以不動態(tài)釋放,簡化生命期管理。
- 惰性計算,以及緩存字符串的hash值,以方便實現(xiàn)hashmap。
- 這個庫是線程安全的。
評論
圖片
表情
