SGI STL rope

rope实现的接口可以参考这里

rope是可伸缩的string实现:

它们被设计为用于把string看作一个整体的高效操作 。

比如赋值、串联和子串的操作所花的时间差不多不依赖字符串的长度。与C的字符 串不同,rope是超长字符串的一个合理的表现,比如编辑缓冲区或邮件信息。 在后端,rope被实现为引用计数子串的树,而且每个子串都存储为字符数组。rope 接口的一个有趣方面是begin和end成员函数总是返回const_iterator。这是为了阻 止客户进行改变单个字符的操作。这样的操作是昂贵的,rope针对涉及整个字符串 的动作(如上所述,例如,赋值、串联和获取子串)优化;单个字符操作表现很差 。

对rope进行单点赋值可以使用 mutable_reference_at() 函数,用mutable_begin() 带起begin()。

 

posted on 2015-09-21 20:07  Stomach_ache  阅读(315)  评论(0编辑  收藏  举报

导航