rope实现的接口能够参考这里。html
rope是可伸缩的string实现:后端
它们被设计为用于把string看做一个总体的高效操做 。数组
好比赋值、串联和子串的操做所花的时间差很少不依赖字符串的长度。与C的字符 串不一样,rope是超长字符串的一个合理的表现,好比编辑缓冲区或邮件信息。 在后端,rope被实现为引用计数子串的树,并且每一个子串都存储为字符数组。rope 接口的一个有趣方面是begin和end成员函数老是返回const_iterator。这是为了阻 止客户进行改变单个字符的操做。这样的操做是昂贵的,rope针对涉及整个字符串 的动做(如上所述,例如,赋值、串联和获取子串)优化;单个字符操做表现不好 。函数
对rope进行单点赋值能够使用 mutable_reference_at() 函数,用mutable_begin() 带起begin()。优化