如何在 C++ 中创建 'global' 实例?

How to create a 'global' instance in C++?

我要说到这里了,请大家指正。

如何使用循环创建 class 的多个实例?

我可以做一些类似变量的事情,在堆上创建它们吗?

classes 是否首先在堆栈上创建?

或者其他地方?

如何正确创建 class 的 'global' 实例?

我真的很困惑,感谢您的帮助。

您可以:

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);