Оператор присваивания оператора итератора

51
5

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


iter1 += iter2 
iter1 -= iter2

Варианты добавления и вычитания итератора со смешанным назначением. Назначает значение добавления или вычитания iter1 и iter2 в iter1.


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

спросил(а) 2010-07-17T13:06:00+04:00 9 лет, 8 месяцев назад
1
Решение
72

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


iter += n
iter -= n

См. http://www.cplusplus.com/reference/std/iterator/RandomAccessIterator/


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

ответил(а) 2010-07-17T15:17:00+04:00 9 лет, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема