如何以较少的开销管理字符串片?

时间:2012-05-09 09:44:13

标签: c++ substring cstring slice stdstring

我正在处理巨型(最多2GB)字符串及其在C ++程序中的切片。在这种情况下,C风格的字符串似乎不可靠,但可以简单地切片(最后没有'\ 0')。另一方面,据我所知,std :: string :: substr复制了切片,因此我应该为每个索引执行至少一个额外的加法运算(索引+基数),以保持内存使用的合理性。

1 个答案:

答案 0 :(得分:8)

最常见的解决方案是使用。创建切片对象 您需要的界面,并使用它。切片对象可以包含两个 迭代器,开始和结束。