Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ////#include "test_runner.h"
- //
- //#include <algorithm>
- //#include <iostream>
- //#include <map>
- //#include <string>
- //#include <unordered_map>
- //#include <optional>
- //
- //using namespace std;
- //
- //template<typename T>
- //void CopyIfNotEqual(const vector<T>& src, vector<T>& dst, T value)
- //{
- // std::remove_copy(begin(src), end(src), back_inserter(dst), value);
- //}
- //
- //void TestCopyIfNotEqual()
- //{
- // vector<int> values = { 1,3,8,3,2,4,8,0,9,8,6 };
- //
- // vector<int> dest;
- // CopyIfNotEqual(values, dest,8);
- //
- // const vector<int> expected = { 1,3,3,2,4,0,9,6 };
- // //ASSERT_EQUAL(dest, expected);
- //
- //}
- //
- //int main()
- //{
- // //TestRunner tr;
- // //RUN_TEST(tr, TestCopyIfNotEqual);
- //
- // int value = 4;
- // auto increase = [value](int x) {return value += x; };
- // cout << increase(5) << endl;
- // cout << increase(5) << endl;
- //
- //
- // return 0;
- //}
- //
- //// Лямбда - функция эквивалентна классу с константным operator()
- //// Неявный const в operator() лямбда - функции защищает от случайного изменения захваченных по значению переменных
- //
- //// Таким образом гарантируется, что вызов лямбды с одними и теми же аргументами вернет одно и то же значение
- //
- //// Первое преимущество константности в С++ - она защищает от случайного изменения объекты, которые по своему смыслу не должны меняться
- //class <unnamed>
- //{
- // int value;
- //
- //public:
- // int operator()(int x) const
- // {
- // return value + x;
- // }
- //};
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement