Building Vectors in C++
This post walks through building a vector-like dynamic array from scratch in C++. The Template We start with a basic template class that handles dynamic memory: template <typename T> class MyList { protected: T* arr; int capacity; int current; public: MyList() : capacity(1), current(0) { arr = new T[capacity]; } void push(T data) { if (current == capacity) { T* temp = new T[2 * capacity]; for (int i = 0; i < capacity; i++) { temp[i] = arr[i]; } delete[] arr; capacity *= 2; arr = temp; } arr[current++] = data; } }; Key Operations Index Access Overloading operator[] gives us array-like syntax: ...