C风格数组
int arr1[10];
- arr1实际上是一个指向大到足以存储10个int型量的内存指针; 大小由程序员确定
- 内存快可以通过new[]分配,但此后必须通过delete[]释放
- 内存块不能调整大小(但可以获得一个新的、根据推测可能更大的内存块,并利用原来的内存块初始化,然后将原内存块释放)
Vector
#include<algorithm>
template<typename Object>
class Vector{
private:
int theSize;
int theCapacity;
Object* objects;
public:
explicit Vector(int initSize = 0):theSize{initSize},theCapacity{initSize + SPARE_CAPACITY}{
objects = new Object[theCapacity];
}
~Vector(){delete[] objects}
static const int SPARE_CAPACITY = 16;
};
参考:数据结构与算法分析——C++语言描述(第四版)[美] Mark Allen Weiss 著 冯舜玺 译