Re[6]: update sequence items
От: Аноним  
Дата: 06.09.06 11:22
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, EvilChild, Вы писали:


EC>>Здравствуйте, <Аноним>, Вы писали:


А>>>мда... а бы в этом случае всеже лучше цикл использовал...

EC>>Сравни длину конструкций:
EC>>
EC>>for (vector<int>::iterator it = iv.begin(); it != iv.end(); ++it)
EC>>{
EC>>    *it += 1;
EC>>}
EC>>

EC>>и
EC>>
EC>>transform(iv.begin(), iv.end(), iv.begin(), bind1st(plus<int>(), 1));
EC>>

EC>>Во второй не нужно придумывать имена переменным и нет адресной арифметики.

А>а если так:


А>for( vector<int>::iterator it = iv.begin(); it != iv.end(); ++it ) *it += 1;


А>и так:


А>transform(

А> iv.begin(), iv.end(), iv.begin(),
А> bind1st(plus<int>(), 1)
А>);


А>


на самом деле я бы написал тут вообще вот так. и это имхо было _правильно_ в данном случае:

    for( int i = 0; i < iv.size(); i++ ) 
        ++iv[i];


все предельно просто и понятно. и компильнется быстрее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.