我正在创建一个模型restrict_xpaths=(["//div[@class='multi- page']/a[@class='aNxt']"])
的类型。在我的应用程序中,“跳过前十万个元素”是一个合理的事情,创建InputIterator
是昂贵的,所以我希望我的迭代器只在取消引用时创建value_type
,而不是在增加时
我可以轻松地value_type
按值返回operator*
。但我不知道如何处理value_type
。如果我的迭代器没有存储operator->
,我该如何返回指针?
我考虑过不提供value_type
,但我没有提供完整的operator->
。
答案 0 :(得分:0)
我相信它可以通过迭代器的operator->
按值返回代理对象。代理将具有单个value_type数据成员,并且其自己的operator->
返回指向该数据成员的指针。
代理对象的生命周期与值对象的任何其他返回相同(就像我的operator*
计划一样),所以虽然我确实有一个指向临时的指针,但在这种情况下它会被消耗掉代理对象被销毁。