Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <functional>
- #include <vector>
- template<typename Iter, typename Iter2, typename Function>
- Iter transform(Iter begin, Iter end, Iter2 save, Function func)
- {
- while (begin != end)
- {
- *save = func(*begin);
- ++begin;
- ++save;
- }
- return save;
- }
- int main()
- {
- std::vector<int> vector1{-7, 5, 1, 2, 11};
- std::vector<int> vector2(5);
- auto result = transform(vector1.cbegin(), vector1.cend(), vector2.begin(), [](int element) {return element * element;});
- for (auto iterator = vector2.cbegin(); iterator < result;)
- {
- std::cout << *iterator++ << " ";
- }
- std::cout << std::endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement