构造函数和析构函数中的动态分配/释放

时间:2017-11-02 21:44:27

标签: c++ c++11

我有以下简单类

class VecDyn {
 public:
  double *v = nullptr;
  int n;

  VecDyn(){}

  VecDyn(int n){
    resize(n);
  }

  ~VecDyn() {
    delete[] v;
  }

  void resize(int size) {
    delete[] v;
    v = new double[size];
    n = size;
  }
}

然后当我在main()中创建一个对象时。它工作正常。但是当我按照

创建std :: vector时
int main() {
  std::vector<VecDyn> testVec(5, VecDyn(3));
}

这给了我一个段错误。谁能告诉我这里做错了什么? 提前谢谢你;)

0 个答案:

没有答案