vector

C++的动态数组,应用广泛,但学起来会比较乱
官网
菜鸟教程快速入门

经验教训

如果数组越界报错,一般来说是因为数组长度是0

  • 可能是使用了默认构造函数
  • 可能是拷贝构造函数写错了(用=不可以)
  • 命名域不对(这个操作真的是血泪史)

关于命名域:
如果所有派生类都需要用动态数组,就应该放在protected:里面
如果在private:很容易有一个误区就是重新声明动态数组,导致父类初始化的是父类的动态数组,子类动态数组为空(默认构造)。

更多推荐

C++的vector