码迷,mamicode.com
首页 > 其他好文 > 详细

SGI STL rope

时间:2015-09-21 21:18:30      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

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

rope是可伸缩的string实现:

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

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

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

 

SGI STL rope

标签:

原文地址:http://www.cnblogs.com/Stomach-ache/p/4827147.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!