是的 - 标题几乎总结了它。我有很多实现迭代器概念的类型,我想知道是否值得引入这个boost头而不是手动实现。
到目前为止:
优点
答案 0 :(得分:3)
如果维护自己的迭代器类型成为负担,那么切换到boost。它们经过明确规定和测试,不太可能出现错误。
答案 1 :(得分:2)
boost::iterator_facade
并没有真正减少“错误发生率”。它只是简化了编写标准共形迭代器的过程。 100%标准的conformal迭代器可能仍然有bug :)关于另一个问题:
值得推动这一提升 头
是的,如果你经常写各种类别的迭代器的话。这个标题非常轻量级,很好,相对轻量级,因为从boost中提取的任何内容也带来了mpl和预处理器库的礼物。但是,我发现使用VC9或VC10时,这并不像以前编译时那样糟糕......