手写vector容器c++
时间: 2023-10-23 07:13:53 浏览: 107
C++中vector容器的用法
5星 · 资源好评率100%
手写Vector容器的实现主要包括以下几个步骤:
1. 定义Vector类,包括私有成员变量arr(存储元素的数组)、capacity(数组容量)、size(元素个数)。
2. 实现Vector类的构造函数,用于初始化成员变量。
3. 实现Vector类的析构函数,释放动态分配的内存。
4. 实现Vector类的深拷贝构造函数,用于进行深拷贝。
5. 实现Vector类的赋值运算符重载,用于进行深拷贝和防止浅拷贝问题。
6. 实现Vector类的尾部插入方法,将元素插入到数组的末尾。
7. 实现Vector类的尾部删除方法,从数组的末尾删除一个元素。
下面是一个手写Vector容器的示例代码:
```cpp
template<typename T>
class Vector {
private:
T* arr;
int capacity;
int size;
public:
Vector() {
capacity = 10;
size = 0;
arr = new T[capacity];
}
~Vector() {
delete []arr;
}
Vector(const Vector& p) {
capacity = p.capacity;
size = p.size;
arr = new T[capacity];
for (int i = 0; i < size; i++) {
arr[i] = p.arr[i];
}
}
Vector& operator=(const Vector& p) {
if (this == &p) {
return *this;
}
delete []arr;
capacity = p.capacity;
size = p.size;
arr = new T[capacity];
for (int i = 0; i < size; i++) {
arr[i] = p.arr[i];
}
return *this;
}
void insert(const T& value) {
if (size == capacity) {
return;
}
arr[size] = value;
size++;
}
void remove() {
if (size == 0) {
return;
}
size--;
}
};
```
阅读全文