C++ 如果我创建一个修改值的迭代器,静态成员“reference”应该是什么类型?

C++ 如果我创建一个修改值的迭代器,静态成员“reference”应该是什么类型?,c++,stl,iterator,typetraits,C++,Stl,Iterator,Typetraits,例如,如果我创建了一个迭代器,它返回值乘以两个similair,以boost::range::transformed,那么如果值类型为int,迭代器成员typedef iterator::reference应该是什么类型 由于返回的值是一个r值,迭代器::reference是一个int还是仍然是一个int&?如果引用类型没有意义,就不要提供它。毕竟,提供一些没有意义的东西是没有意义的。Hmmm似乎提供了一个自定义类型_Bit_引用来克服std::vector的这个问题。我不确定这不是在所有情况下

例如,如果我创建了一个迭代器,它返回值乘以两个similair,以boost::range::transformed,那么如果值类型为int,迭代器成员typedef iterator::reference应该是什么类型

由于返回的值是一个r值,迭代器::reference是一个int还是仍然是一个int&?

如果引用类型没有意义,就不要提供它。毕竟,提供一些没有意义的东西是没有意义的。

Hmmm似乎提供了一个自定义类型_Bit_引用来克服std::vector的这个问题。我不确定这不是在所有情况下都有意义。不过,这可能是一次黑客攻击。