boost::split和boost::iter_split功能有什么区别?
boost::split将拆分字符串复制到SequenceSequenceT(例如,a std::vector<std::string>)中.boost::iter_split地方iterators(特别是迭代器范围)进入SequenceSequenceT.
这实际上意味着两件事:
使用split将创建副本,因此原始字符串将不会看到对返回的字符串容器的任何更改.此外,您不必担心迭代器失效.
使用iter_split将返回迭代器范围的容器,因此,修改这些迭代器指向的内容也将修改原始字符串.其次,如果在运行后修改了原始字符串,则iter_split可能会遇到迭代器失效问题.但是,不会对基础字符串执行任何副本,因此这可能会运行得更快并且使用更少的内存.
| 归档时间: |
|
| 查看次数: |
1169 次 |
| 最近记录: |