-
静态数组:具有固定元素个数的群体,其中的元素可以通过下标直接访问。缺点:数组大小在编译时就已经确定,在运行时无法修改大小。
-
动态数组(vector):动态数组由一系列位置连续的,任意数量相同类型的元素组成。优点:元素个数可在程序运行时改变。
//通过例子,了解如何封装动态数组类,注意看注释!!!
array.h
#ifndef ARRAY_H
#define ARRAY_H
#include <cassert>
template <class T>
class Array //在数组中希望容纳任何类型元素的数组
{
private:
T *list;//用于存放动态分配的数组内存首地址
int size; //数组大小(元素个数)
public:
Array(int sz = 50); //默认构造50个元素的数组
Array(const Array<T> &a);//复制构造函数, 深层复制
~Array();
Array<T> &operator=(const Array<T> &rhs); //重载”=“ 用来对两个数组对象进行整体赋值, 返回值都是引用类型
T &operator[](int i); //重载“