Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <memory>
- #include <array>
- #include <vector>
- #include <forward_list>
- #include <list>
- #include <algorithm>
- #include <functional>
- namespace itstep
- {
- template <typename InIter, typename Func>
- void for_each(InIter begin, InIter end, Func func)
- {
- for (; begin != end; ++begin)
- {
- func(*begin);
- }
- }
- template <typename T>
- void print(const T& elem, char delimeter = '\0')
- {
- std::cout << elem;
- if (delimeter)
- {
- std::cout << delimeter;
- }
- }
- template <typename T>
- void mul2(T& elem)
- {
- elem *= 2;
- }
- }
- class Item
- {
- public:
- Item() { std::cout << "Item default constructed " << this << '\n'; }
- Item(const Item& it) { std::cout << "Item copy constructed " << this << " from " << &it << '\n'; }
- Item(Item&& it) { std::cout << "Item move constructed " << this << " from " << &it << '\n'; }
- Item& operator=(const Item& it) { std::cout << "Item copy assigned " << this << " from " << &it << '\n'; return *this; }
- Item& operator=(Item&& it) { std::cout << "Item move assigned " << this << " from " << &it << '\n'; return *this; }
- ~Item() { std::cout << "Item destructed " << this << '\n'; }
- friend std::ostream& operator<<(std::ostream& out, const Item& item)
- {
- return out << "Item # " << &item;
- }
- };
- int main()
- {
- std::vector<int> arr{1,2,3,4,5,6,7,8,9,10};
- //arr.reserve(150);
- //std::cout << "Original size = " << arr.size() << " capacity = " << arr.capacity() << '\n';
- //for (int i{ 0 }; i < 64; ++i)
- //{
- // arr.push_back(i);
- // std::cout << "size = " << arr.size() << " capacity = " << arr.capacity() << '\n';
- //}
- //
- ////arr.shrink_to_fit();
- //arr.resize(32);
- //std::cout << "Shrinked size = " << arr.size() << " capacity = " << arr.capacity() << '\n';
- //arr.reserve(16);
- //std::cout << "Post reserve 16 size = " << arr.size() << " capacity = " << arr.capacity() << '\n';
- //std::copy(arr.begin(), arr.end(), std::ostream_iterator<int>(std::cout, " "));
- //std::cout << '\n';
- //arr.push_back(11);
- //std::copy(arr.begin(), arr.end(), std::ostream_iterator<int>(std::cout, " "));
- //std::cout << '\n';
- //arr.pop_back();
- //std::copy(arr.begin(), arr.end(), std::ostream_iterator<int>(std::cout, " "));
- //std::cout << '\n';
- //std::list<int> newVal{ 42,43,44,45 };
- //arr.insert(arr.begin(), newVal.begin(), newVal.end());
- //std::copy(arr.begin(), arr.end(), std::ostream_iterator<int>(std::cout, " "));
- //std::cout << '\n';
- ////arr.erase(arr.begin(), arr.end());
- ////arr.clear();
- //*arr.begin() = 444;
- //std::copy(arr.begin(), arr.end(), std::ostream_iterator<int>(std::cout, " "));
- //std::cout << '\n';
- Item it;
- std::cout << it << '\n';
- std::vector<Item> items;
- //items.reserve(4);
- items.resize(4);
- std::cout << "Original size = " << items.size() << " capacity = " << items.capacity() << '\n';
- items.insert(items.begin(), it);
- std::copy(items.begin(), items.end(), std::ostream_iterator<Item>(std::cout, " "));
- std::cout << '\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement