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