C++ 为c+创建初始化和删除函数+;指向类的多维指针

C++ 为c+创建初始化和删除函数+;指向类的多维指针,c++,pointers,C++,Pointers,我创建了一个类,并使用多维指针,如下所示: variable **v_mod; v_mod = new variable *[3]; for(int i=0;i<3;i++) { v_mod[i] = new variable [n]; } 哪种方法也一样?不要使用新建使用: 选项3仅当是家庭作业时才执行此操作: unique_ptr<variable[]> v_mod[3]; for(auto& i : v_mod) { i = make_uniq

我创建了一个类,并使用多维指针,如下所示:

variable **v_mod;
v_mod = new variable *[3];
for(int i=0;i<3;i++)
{
    v_mod[i] = new variable [n];
}

哪种方法也一样?

不要使用
新建
使用:

选项3仅当是家庭作业时才执行此操作:

unique_ptr<variable[]> v_mod[3];

for(auto& i : v_mod) {
    i = make_unique<variable[]>(n);
}
variable* v_mod[3];

for(auto& i : v_mod) {
    i = new variable[n];
}

for(auto& i : v_mod) {
    delete[] i;
}

[]

为什么不使用向量向量?@user207933也许他得到了一份学校作业。@HamzaAnis听起来像是一份很好的C作业。(也许这太强了,我希望C++程序员理解动态内存的工作原理)。
vector<vector<variable>> v_mod(3, vector<variable>(n));
unique_ptr<variable[]> v_mod[3];

for(auto& i : v_mod) {
    i = make_unique<variable[]>(n);
}
variable* v_mod[3];

for(auto& i : v_mod) {
    i = new variable[n];
}

for(auto& i : v_mod) {
    delete[] i;
}