Я предполагаю, что вы имеете в виду использование !=vector.end()
вместо <vector.size()
, поскольку это не было ясно из вашего вопроса.
Одна из причин предпочесть версию end () состоит в том, что вы действительно пытаетесь сделать, это проверить, достигли ли вы конца.
Идиома для такого рода проверок массивов в C заключалась в проверке индекса по сравнению с размером, но это "устаревшее" поведение. Затем он распространялся в мире Java (как <<code>array.length) до тех пор, пока люди не осознали, что массивы являются злом и что Java наконец поддерживает дженерики. Однако в C ++ нет смысла использовать эту идиому, когда у вас есть хороший класс коллекции, такой как vector, для работы. Это более читабельно и более легко обслуживаемо. Например, при необходимости легче переключаться на другие коллекции, поскольку вы все еще говорите о конце.