我要说这个,请告诉我,如果我错了或是对的。
如何使用循环创建类的多个实例?
我可以使用变量做一些事情,在堆上创建它们吗?
首先在堆栈上创建类吗?
还是在其他地方?
如何正确创建类的“全局”实例?
我真的对此感到困惑,谢谢你的帮助。
答案 0 :(得分:1)
你可以:
1-制作一个包含指向vector
指针的全局object
2-在循环中分配。
3-根据需要在不需要时使用另一个循环或单独解除分配。
示例:
vector<obj*> v;
int main(){
int mysize = 10;
for(int i=0; i < mysize; i++) //to allocate on the heap
{
v.push_back(new obj) ;
}
for(int i=0; i < mysize; i++) // to deallocate from the heap
{
delete v[i];
v[i] = nullptr;
}
}
您也可以将对象直接推送到矢量中,如下所示:
vector<obj> v;
int main(){
for(int i=0; i < mysize; i++) {
v.push_back(obj()) ;
v[i].print();
}
}
或者事实上,如果你知道你循环了多少次,你可以简单地将 Liteness 建议在一行中完成:
vector<obj> v(mysize);