Страницы

Поиск по вопросам

вторник, 10 декабря 2019 г.

end() vs cend()

#cpp #cpp11 #cpp14


Всегда ли это предложение возвращает true для стандартных контейнеров?

container.end() == container.cend();

    


Ответы

Ответ 1



Да, всегда. Итераторы, указывающие на одно и то же положение в контейнере, должны быть равными, даже если они отличаются по типу (обычный vs. константаный). См. 23.2.1/7 In the expressions     i == j     i != j     i < j     i <= j     i >= j     i > j     i - j where i and j denote objects of a container’s iterator type, either or both may be replaced by an object of the container’s const_iterator type referring to the same element with no change in semantics.

Комментариев нет:

Отправить комментарий