Когда нам не нужно менять элементы
blockquote>vec
, в примерах предлагается использовать первую версию.Затем они дают неправильное предложение.
Почему они не предлагают то, что ссылается на const
blockquote>. Потому что они дают неправильное предложение :-) То, что вы упоминаете, является правильным. Если вы хотите наблюдать только за объектом, нет необходимости создавать копию, и нет необходимости иметь ссылку на него
const
.EDIT:
Я вижу ссылки, на которые вы ссылаетесь, предоставляют примеры итерации по диапазону значений
int
или некоторого другого фундаментального типа данных. В этом случае, поскольку копированиеint
не дорого, создание копии в основном эквивалентно (если не более эффективному), имеющему наблюдениеconst &
.Это, однако, не так в общем, для пользовательских типов. UDT могут быть дорогими для копирования, и если у вас нет причин для создания копии (например, для изменения извлеченного объекта без изменения исходного), тогда предпочтительно использовать
const &
.