Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- using namespace std;
- template <typename T>
- class SimpleVector
- {
- public:
- /* Пока не имеет смысла.
- SimpleVector()
- {
- data = nullptr;
- last = data;
- end_ = data + 1;
- }
- */
- SimpleVector(size_t size)
- {
- data = new T[size];
- last = data;
- end_ = data + size;
- }
- ~SimpleVector()
- {
- delete[] data;
- }
- const T& operator[] (size_t index)
- {
- return data[index];
- }
- T* begin() { return data; }
- T* end() { return end_; }
- const T* begin() const { return data; }
- const T* end() const { return end_; }
- size_t Capacity() const
- {
- return end_ - data;
- }
- size_t Size() const
- {
- return last - data;
- }
- void PushBack(const T& value)
- {
- *last = value;
- last++;
- };
- private:
- T* data;
- T* last;
- T* end_;
- };
- int main()
- {
- SimpleVector<int> vec(10);
- for (int i = 0; i < 10; i++)
- {
- vec.PushBack(i * 5);
- }
- for (const auto& i : vec)
- {
- cout << i << " ";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement