我得到了这样一个类:
class me362
{
public:
    void geometry(long double xLength);
    void mesh(int xNode);
    void properties(long double H, long double D, long double K,long double Q, long double DT,long double PHO,long double CP, long double TINF);
    void drichlet(long double TLeft,long double TRight);
    void neumann(bool Tlinks, bool Trechts);
    void updateDiscretization(long double**** A,long double* b, long double* Tp);
    void printVectorToFile(long double *x);
private:
    int xdim;
    long double xlength;
    long double tleft;
    long double tright;
    long double h;
    long double d;
    long double k;
    long double q;
    long double dt;
    long double cp;
    long double rho;
    long double Tinf;
    bool tlinks;
    bool trechts;
};并使用以下命令初始化它:
me362 domain1;
me362 domain2;
me362 domain3;但是我想确定我想要初始化的域的数量。所以我需要一个me362结构的动态数组。我该怎么做呢?这是可以做到的吗?
谢谢大家
埃姆雷。
发布于 2011-04-30 18:34:31
使用std::vector,它为您处理动态内存:
#include <vector>
// ...
std::vector<me362> domains;vector还有很多很好的特性和保证,比如与C语言布局兼容,具有引用局部性,每个元素的开销为零,等等。
还请注意,std::vector有一个接受整数参数的构造函数,并创建了这么多元素:
// Will create a vector with 42 default-constructed me362 elements in it
std::vector<me362> domains(42);有关使用std::vector的详细信息,请参阅任何标准库参考(如cppreference.com或cplusplus.com)。)
https://stackoverflow.com/questions/5841155
复制相似问题