9
голосов
3ответов
8691 просмотров

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

Я написал собственный шаблон контейнера с итератором. Как реализовать const_iterator? template <class T> class my_container { private: ... public: my_container() : ... { } ~my_container() { } class iterator : public std::iterator<std::bidirectional_iterator_tag, T> { ...

27
голосов
6ответов
11761 просмотров

Должен ли я предпочесть итераторы const_iterators?

Кто-то здесь недавно поднял статью Скотта Мейерса, в которой говорится: Предпочитайте iterators вместо const_iterators ( ссылка в формате pdf ). Кто-то еще заметил, что статья, вероятно, устарела. Интересно, каково ваше мнение? Вот мой: Один из основных моментов статьи заключается в...

46
голосов
9ответов
22895 просмотров

Как убрать постоянство const_iterator?

В качестве расширения этого вопроса const_iterators быстрее? у меня есть еще один вопрос по const_iterators. Как убрать постоянство const_iterator? Хотя итераторы представляют собой обобщенную форму указателей, все же const_iterator и iterator - это две разные вещи. Следовательно, я считаю, чт...

36
голосов
11ответов
14449 просмотров

Const_iterators быстрее?

Наши рекомендации по кодированию предпочитают const_iterator, потому что они немного быстрее по сравнению с обычным iterator. Похоже, что компилятор оптимизирует код, когда вы используете const_iterator. Это правда? Если да, то что на самом деле происходит внутри, что делает const_iterator бы...