Meh*_*ari 15
请std::vector
改用.它旨在根据需要动态调整集合大小.
#include <vector>
// ...
std::vector<Class*> vec;
vec.push_back(my_class_ptr);
Class* ptr = vec[0];
Run Code Online (Sandbox Code Playgroud)
Ree*_*sey 10
您可以使用指向类的指针来执行此操作.
MyClass ** arrayOfMyClass = new MyClass*[arrayLengthAtRuntime];
for (int i=0;i<arrayLengthAtRuntime;++i)
arrayOfMyClass[i] = new MyClass(); // Create the MyClass here.
// ...
arrayOfMyClass[5]->DoSomething(); // Call a method on your 6th element
Run Code Online (Sandbox Code Playgroud)
基本上,您正在创建一个指向内存中引用数组的指针.第一个new分配这个数组.循环将每个MyClass实例分配到该数组中.
如果您正在使用std :: vector或其他可随意增长的容器,这会变得更加容易,但如果您想自己管理内存,则上述工作正常.