Я пытаюсь создать итератор, который может только разыменовывать реальные типы значений, а не ссылки. Возможно ли это, используя boost::iterator_facade
, или он требует, чтобы у меня были значения, которые могут быть возвращены с помощью адреса \ reference.boost итератор фасад и функция разыменования()
Чтобы быть более specfic, мой итератора возвращает std::pair
ссылок, а это значит, мои итераторы value_type
не хранится, но создается на лету на разыменования (как std::map::iterator
).
Благодарим за этот ответ, действительно помогли мне. Однако у меня есть вопрос, прежде чем указывать аргумент шаблона Reference, я просто попытался вернуть значение. Это скомпилировано, но дало мне очень странные результаты, такие как указатели в моем классе, которые стали пустыми в странные времена. Полагаю, мой вопрос в том, почему он вообще скомпилировался? – FlamFace