所以我试图pop_back()
为我的班级实现一个函数Vector
,但我没有得到预期的结果:
这是我当前的功能:
template <typename T>
void Vector<T>::pop_back() {
if(vsize > 0){
array[vsize].~T();
--vsize;
}
}
为什么这不删除数组中的最后一个元素?
这是我的.h
:
template <typename T>
class Vector {
public:
Vector();
~Vector();
void push_back(const T &e);
int size() const;
void pop_back();
void allocate_new();
T operator[](int index);
private:
Vector(const Vector<T> & v);
Vector<T> & operator=(const Vector<T> &);
int vsize;
int capacity;
T* array;
};