有人告诉我应该避免在 C++ 中使用指针或 new,但我不知道如何操作。我用迭代器类实现了动态数组。这是代码:
自定义向量和迭代器:
#include <iostream>
template<class T> class Myvector{
private:
int size;
int capacity;
T* objects;
void add_capacity(){
int newCapacity = capacity * 2 +1;
T *newArray = new T[ newCapacity ];
for( int i = 0; i < size; ++i )
newArray[ i ] = std::move( objects[ i ] );
capacity = newCapacity;
std::swap( objects, newArray );
delete [ ] newArray;
}
public:
Myvector(){
objects = new T[1];
capacity = 1;
size = 0;
}
void add(T …Run Code Online (Sandbox Code Playgroud)