shushus

Спринт 5. Итераторы в методах контейнеров. Задание 1.

Dec 10th, 2022
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.94 KB | None | 0 0
  1. // разработайте сигнатуру фунции MakeVector по аналогии с функцией MakeSet из урока
  2. #include <algorithm>
  3. #include <iostream>
  4. #include <set>
  5. #include <string>
  6. #include <vector>
  7.  
  8. using namespace std;
  9.  
  10. template <typename It>
  11. void PrintRange(It range_begin, It range_end) {
  12.     for (auto it = range_begin; it != range_end; ++it) {
  13.         cout << *it << " "s;
  14.     }
  15.     cout << endl;
  16. }
  17.  
  18. template <typename It>
  19. auto MakeVector(It range_begin, It range_end) {
  20.     return vector(range_begin, range_end);
  21. }
  22.  
  23. template <typename Container, typename Iterator>
  24. void EraseAndPrint(Container& container, Iterator iterator) {
  25.     PrintRange(begin(container), iterator);
  26.     auto iter = container.erase(iterator);
  27.     PrintRange(iter, end(container));
  28. }
  29.  
  30. int main() {
  31.     set<string> langs = {"Python"s, "Java"s, "C#"s, "Ruby"s, "C++"s};
  32.     EraseAndPrint(langs, langs.begin());
  33.     return 0;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment