This class effectively acted as a "discount vector", that would simply allocate memory and then delete it in the destructor when it goes out of scope. We can just use a std::vector directly to reduce this boilerplate.