我在 C++ 程序中处理巨大的(最多 2GB)字符串及其切片。 C 风格的字符串在这种情况下似乎不可靠,但可以简单地切片(末尾没有 '\0')。另一方面,据我所知,std::string::substr 复制切片,因此我应该为每个索引执行至少一个额外的加法操作(索引 + 基数),以保持合理的内存使用。
最佳答案
最通用的解决方案是创建一个切片对象,使用 您需要的界面,然后使用它。切片对象可以包含两个 迭代器,开始和结束。
关于c++ - 如何以更少的开销管理字符串切片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10513590/