Я написал простую (и потенциально плохую) реализацию для векторного класса, похожую на std :: vector.
Вот класс:
template <class T>
class Vector
{
T* data;
int size;
public:
Vector(int = 0);
~Vector();
Vector(const Vector<T>&);
Vector<T>& operator=(Vector<T>);
T& operator[](int);
friend void swap(Vector<T>&, Vector<T>&);
void Clear();
void Insert(T, int);
void Delete(int);
int Size();
};
При отладке кода который использует мой вектор, я заметил, что указатель, который я использую внутренне, обычно расширяется только до первого элемента.
Я нашел этот вопрос SO, Как отобразить динамически распределенный массив в отладчик Visual Studio? , который, кажется, дает простое решение проблемы, но мне интересно, возможно ли расширить массив на непостоянную величину (скажем, текущий размер вектора).
Учитывая, что std :: vector показывает все свои элементы, как правило, внутри отладчика, могу ли я альтернативно переписать свой вектор, чтобы включить эту функциональность?
Вот фрагмент вкладки "Locals" с некоторым тестом переменные, чтобы показать, что я имею в виду: