Каковы преимущества и недостатки использования boost :: iterator_facade? - PullRequest
8 голосов
/ 07 апреля 2010

Да - название в значительной степени подводит итог. У меня довольно много типов, которые реализуют концепции итераторов, и мне интересно, стоит ли использовать этот заголовок вместо того, чтобы реализовывать вещи вручную.

Пока:

Преимущества

  • Хорошо указано
  • Меньше вероятности появления ошибок

Ответы [ 2 ]

3 голосов
/ 07 апреля 2010

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

2 голосов
/ 23 февраля 2011

boost::iterator_facade на самом деле не уменьшает «количество ошибок». Это просто упрощает процесс написания стандартного конформного итератора. У 100% стандартного конформного итератора могут быть ошибки :) Что касается другого вопроса:

стоит потянуть за это повышение Заголовок

Да, если вы часто пишете итераторы различных категорий. Этот заголовок довольно легкий, хм, относительно легкий, поскольку все, что вы извлекаете из boost, также дает дар mpl и библиотеки препроцессора. Однако я обнаружил, что с VC9 или VC10 это не так плохо, как это было во время компиляции с w.r.t ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...