составной оператор присваивания итератора - PullRequest
2 голосов
/ 17 июля 2010

В праймере C ++ 4-го издания Липпмана приведены составные операторы присваивания для итератора для вектора и deque:

iter1 += iter2 
iter1 -= iter2

Версии сложного присваивания сложения и вычитания итератора. Назначает значение сложения или вычитания iter1 и iter2 в iter1.

Но когда я хочу их использовать, выдает ошибку. Кроме того, что означает в любом случае предоставлять составные операторы присваивания для итераторов?

1 Ответ

4 голосов
/ 17 июля 2010

Я посмотрел это в Липпмане.Для меня это выглядит как ошибка.Итераторы с произвольным доступом (вид итераторов, предоставляемых vector и deque) предлагают составное назначение формы

iter += n
iter -= n

См., Например, http://www.cplusplus.com/reference/std/iterator/RandomAccessIterator/

Составное назначение формы, которую Липпман написал неимеет смысл, когда вы смотрите на результирующие типы.

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