Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template<T>
- class MyVector {
- private:
- size_t size_ = 0;
- T* ptr_ = nullptr;
- size_t capacity_ = 0;
- public:
- MyVector() = default;
- MyVector(const MyVector& other) {
- size_ = other.size_;
- capacity_ = other.size_;
- ptr_ = new T[size_];
- for (size_t i = 0; i < size_; ++i) {
- ptr_[i] = other.ptr_[i];
- }
- }
- size_t size() const {
- return size_;
- }
- size_t capacity() const {
- return capacity_;
- }
- T& front() {
- return ptr_[0];
- }
- const T& front() const {
- return ptr_[0];
- }
- T& back() {
- return ptr_[size_ - 1];
- }
- const T& back() const {
- return ptr_[size_ - 1];
- }
- void push_back(const T& new_elem) {
- if (size_ + 1 <= capacity_) {
- ptr_[size_++] = new_elem;
- } else {
- capacity_ *= 2;
- T* new_ptr_ = new T[capacity_];
- for (size_t i = 0; i < size_; ++i) {
- new_ptr_[i] = ptr_[i];
- }
- delete[] ptr_;
- ptr_ = new_ptr_;
- ptr[size_++] = new_elem;
- }
- }
- }
- - MyVector()
- - MyVector(const MyVector&)
- - size
- - capacity
- - front
- - back
- - push_back(value)
- += myvector
- a+b
- int* a = new int;
- *a = 12334;
- delete a;
- int* b = new int[100];
- b[10] = 100;
- b[2] = 2;
- *b <=> b[0]
- delete[] b;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement