C++ string的SOW和SSO策略


COW(Copy-On-Write):写时复制,即复制的时候不立即申请内存(浅拷贝),而在写操作的时候才开始申请内存进行复制。

SSO(Small String Optimization):短字符串优化,即复制时立即申请内存(深拷贝),但当字符串较短时存在栈中。

相关参考

c++ - Meaning of acronym SSO in the context of std::string - Stack Overflow

C++ 字符串拷贝优化策略:Eager-Copy、SSO 与 COW | 曜彤.手记 (yhspy.com)

C++ Small String Optimization | Yihao Liu (tc-imba.github.io)

Copy-on-write - Wikipedia

c++ - What are the mechanics of short string optimization in libc++? - Stack Overflow

elliotgoodrich/SSO-23: Memory optimal Small String Optimization implementation for C++ (github.com)

C++ folly库解读(一) Fbstring —— 一个完美替代std::string的库 - 知乎 (zhihu.com)

folly/FBString.md at master · facebook/folly (github.com)

漫步Facebook开源C++库folly(1):string类的设计 - PromisE_谢 - 博客园 (cnblogs.com)

C++ folly库解读(一) Fbstring —— 一个完美替代std::string的库(上) (qq.com)