具有显式初始化程序的类的内存分配
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具有显式初始化程序的类的内存分配相关的知识,希望对你有一定的参考价值。
当我为某些整数分配内存时,我是这样进行的:
int* pointer = new int[10];
同样的东西也适用于类对象指针:
int dim = 5;
Complex* vect = new Complex[dim];
但是,如果说我有一个带有显式初始化程序的类,像这样:
class Vec
{
private:
int dim;
Complex *vect;
public:
Vec(int n):dim(n){
vect=new Complex[dim];
}
};
然后初始化该类对象的指针并为其中的5个分配内存的正确语法是什么?
Vec* u=new Vec(dim)[5];
似乎不是正确的语法。
谢谢。
答案
它将是:
Vec* u = new Vec[5]{Vec(4), Vec(8), Vec(15), Vec(16), Vec(23)};
但更喜欢std::vector
。
以上是关于具有显式初始化程序的类的内存分配的主要内容,如果未能解决你的问题,请参考以下文章