类具有带动态数组成员的类

托马斯费米

我有一个带有动态数组(DA)的类

class DA{
  private:
    double* array;
    int size N;
    //other stuff
  public:
    DA(){
       array=NULL;
    }
    DA(int PN){
      N=PN;
      array=new double[N];
    };
    //destructor and other stuff
}

这似乎还可以。现在,我想要一个具有一个DA对象的“应用程序”类:

class App{
  private:
    DA myDA;
  public:
    App(int N){
      //create myDA with array of size N
      DA temp(N);
      myDA=temp;
    };
}

问题是,我不知道如何在App构造函数中创建myDA。我这样做的方式是为临时内存分配内存,然后myDA指向临时内存。但是我猜为temp分配的内存在构造函数完成后会被删除。因此,执行程序时出现内存错误。那么如何正确分配内存呢?

juanchopanza

使用构造函数初始化列表:

App(int N) : myDA(N) {}

请注意,DA除非遵循三法则,否则类将被破坏,或者使用std::vector<double>std::unique_ptr<double[]>boost范围化数组简化问题

#include <vector>

class DA{
  private:
    std::vector<double> data; // "array" is a std lib container name
  public:
    DA(int PN) : data(PN) {}
    // no need to write destructor, copy constructor or assignment operator.
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

类具有带动态数组成员的类

来自分类Dev

具有数组成员变量的C ++类构造函数

来自分类Dev

如何将内存分配给具有数组成员的类实例?

来自分类Dev

Arduino类数组成员

来自分类Dev

Arduino类数组成员

来自分类Dev

C ++中类数组成员的初始化

来自分类Dev

C ++类,数组成员的大小由CTOR传递

来自分类Dev

在类中声明数组成员的正确方法

来自分类Dev

C ++类,数组成员的大小由CTOR传递

来自分类Dev

具有弹性char数组成员的结构

来自分类Dev

具有静态数组成员变量的迭代器

来自分类Dev

返回具有数组成员的本地结构

来自分类Dev

如果基类包含数组成员,则派生类的构造函数不能为constexpr

来自分类Dev

删除类的复制构造函数时,初始化类的数组成员

来自分类Dev

在类中,数组成员C ++ 11的默认初始化程序

来自分类Dev

EF Linq to Entity在类初始值设定项中分配数组成员

来自分类Dev

如何在 Delphi 7 中将数组成员声明为类

来自分类Dev

具有灵活数组成员的结构的数组如何表现?

来自分类Dev

如何均匀地分配具有灵活数组成员的结构体数组?

来自分类Dev

是否允许返回具有灵活数组成员的结构?

来自分类Dev

具有static char *数组成员的模板专门化,以多个单位实例化

来自分类Dev

Python:附加到基类列表/元组成员

来自分类Dev

为什么需要在constexpr类中成员初始化非静态数组成员?

来自分类Dev

为什么需要在constexpr类中成员初始化非静态数组成员?

来自分类Dev

没有初始化的C ++数组成员

来自分类Dev

循环访问所有数组成员

来自分类Dev

使用std :: index_sequence初始化具有固定大小数组成员的POD结构容器

来自分类Dev

C#数组成员

来自分类Dev

使用指针到达数组成员

Related 相关文章

  1. 1

    类具有带动态数组成员的类

  2. 2

    具有数组成员变量的C ++类构造函数

  3. 3

    如何将内存分配给具有数组成员的类实例?

  4. 4

    Arduino类数组成员

  5. 5

    Arduino类数组成员

  6. 6

    C ++中类数组成员的初始化

  7. 7

    C ++类,数组成员的大小由CTOR传递

  8. 8

    在类中声明数组成员的正确方法

  9. 9

    C ++类,数组成员的大小由CTOR传递

  10. 10

    具有弹性char数组成员的结构

  11. 11

    具有静态数组成员变量的迭代器

  12. 12

    返回具有数组成员的本地结构

  13. 13

    如果基类包含数组成员,则派生类的构造函数不能为constexpr

  14. 14

    删除类的复制构造函数时,初始化类的数组成员

  15. 15

    在类中,数组成员C ++ 11的默认初始化程序

  16. 16

    EF Linq to Entity在类初始值设定项中分配数组成员

  17. 17

    如何在 Delphi 7 中将数组成员声明为类

  18. 18

    具有灵活数组成员的结构的数组如何表现?

  19. 19

    如何均匀地分配具有灵活数组成员的结构体数组?

  20. 20

    是否允许返回具有灵活数组成员的结构?

  21. 21

    具有static char *数组成员的模板专门化,以多个单位实例化

  22. 22

    Python:附加到基类列表/元组成员

  23. 23

    为什么需要在constexpr类中成员初始化非静态数组成员?

  24. 24

    为什么需要在constexpr类中成员初始化非静态数组成员?

  25. 25

    没有初始化的C ++数组成员

  26. 26

    循环访问所有数组成员

  27. 27

    使用std :: index_sequence初始化具有固定大小数组成员的POD结构容器

  28. 28

    C#数组成员

  29. 29

    使用指针到达数组成员

热门标签

归档