【发布时间】:2013-06-28 10:45:00
【问题描述】:
我喜欢在我的代码中编写使用std 方法的容器无关代码,例如std::distance() 或std::advance()。这对于反序列化很有用,我可以传入不同类型的缓冲区对象(网络流、字节流……)。
如何将char* 或uint8_t* 指针转换为迭代器?将数据复制到缓冲区不是一种选择。
我想到的一个选择是使用带有std::string 的自定义分配器,但如果可用,我更喜欢现成的解决方案。
有什么建议吗?
【问题讨论】:
-
指针是迭代器——甚至是最通用的迭代器,随机访问。
-
指针是迭代器。请注意正确处理
end()
标签: c++ c++11 iterator char std