Здравствуйте, kan, Вы писали:
kan>Kluev wrote:
>> for(i = 0, j = vec.size()-1; i < j; i++)
>> Со знаковыми типами вот такой код будет нормально работать, а с >> бесзнаковыми i,j при vec.size()==0 будут грабли. kan>А зачем такой ужас писать? Чем банальный
kan>for(size_t i = 0; i + 1 < vec.size(); i++) kan>не устраивает?
Такая форма записи неестественная и не соотвествует ходу мышления.
>> R>зачем в вашем примере GetPos возвращает int? судя по всему только для >> возможности задать спец значение -1, на мой взгляд в таком случае более >> правильно использовать явно объявленое значение для беззнакового — как >> например std::string::npos. >> >> Для того чтобы можно было писать по человечески. Если например двигаемся >> в произвольном направлении и с произвольным шагом, то к индексу kan>Для этого есть iterator.
С итераторами неудобно работать.
1) они становятся невалидными после ресайза
2) программу неудобно отлаживать, т.к. итератор ничего не говорит ни о номере итерации, ни о индексе элемента в массиве.