Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, 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];
все предельно просто и понятно. и компильнется быстрее.