C++: Как записать const_iterator?

Я нашел исправление для этой ошибки, которое работает для меня. Я просто заменяю это:

[item addSubitemsObject:subItem];

на это:

item.subitemsObject = subItem;
8
задан Posco Grubb 30 June 2009 в 05:40
поделиться

3 ответа

Единственное отличие должно заключаться в том, что при отмене ссылки на константный итератор вы получаете константную ссылку, а не ссылку на объект в контейнере.

4
ответ дан 5 December 2019 в 22:20
поделиться

Я считаю, что самый простой способ реализовать итераторы - это boost :: iterator . Если вы хотите использовать свою собственную, я думаю, подпись должна быть:

class const_iterator : public std::iterator<std::bidirectional_iterator_tag, const T> {

с такой же реализацией (при условии, что вы используете reference_type и т.д. в своих сигнатурах функций)

2
ответ дан 5 December 2019 в 22:20
поделиться

Роджер Пейт, value_типы "простые". Подозреваю, что вы увидите const, если посмотрите на ссылку iterator_traits::const_iterator>::, которая, как мне кажется, будет "const int&".

0
ответ дан 5 December 2019 в 22:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: