Цитата(fish9370 @ 24.10.2011, 15:01 ) | | - нет стандартной библиотеки для работы с масивами в Си++ |
Вообще-то, есть. STL она зовется. Только массивы называются не массивами, а контейнерами, так как массив это более узкое понятие. Конкретно этой функции там нет. Но никто не мешает ее написать:| Код | template<typename T> struct DiffHelper { DiffHelper(const std::vector<T> &v, std::vector<T> &v) : v_(v), r_(r) {} void operator()(const T &a) const { if (std::find(v_.begin(), v_.end(), a) == v_.end()) r_.push_back(a); } private: const std::vector<T> &v_; std::vector<T> &r_; };
template<typename T> inline std::vector<T> array_diff(const std::vector<T> &v1, const std::vector<T> &v2) { std::vector<T> ret; std::for_each(v1.begin(), v1.end(), DiffHelper<T>(v2, ret)); return ret; } |
|