|
April 24th, 2014
04:47 pm - Я у мамы дурачок Типа разбавить унылость на сайте
template <class T>
vector<T>& operator-= (vector<T>& lhs, vector<T>& rhs) {
for (vector<int>::iterator it=rhs.begin(); it!=rhs.end(); it!=rhs.end()?++it:it) {
vector<int>::iterator el = std::find(lhs.begin(),lhs.end(),*it);
if (el!=lhs.end()) lhs.erase(el);
}
return lhs;
}
|
Comments:
что это за безумие it!=rhs.end()?++it:it ? не говоря уже о том, что скорее всего этот код придуман для замедления работы программы :)
А, это следы копи-пейста из другой функции, где элементы из вектора удалялись соответственно некоторому критерию, и надо было обработать случай, когда удаляется последний элемент.
Этот код придуман, чтобы не заслонять логику деталями реализации. что до замедления, то на двух десятках элементов максимум (а пока и до 10 не дотягивает) его никто не увидит. Особенно на фоне запросов к базе, длящихся сотни секунд. |
|
|
LJ.Rossia.org |