我有一个成员函数,必须创建其类的两个对象(在内存中)。所以我必须返回指针“p”,我想通过p [0]和p [1]访问对象。我所知道的是关键字new,为一个对象分配内存。是否有类似的东西为2个objets分配了连续的内存?我还可以使用关键字new两次创建一个2单元格数组(两个指针),但我更喜欢一个更简单的解决方案(p [0]和p [1])。
答案 0 :(得分:3)
MyClass * p = new MyClass[2];
并记得删除它:
delete[] p;
答案 1 :(得分:1)
使用std::vector
,它将为您处理内存管理。
#include <vector>
// This will dynamically allocate an array of 2 instances
// of you MyClass type
std::vector<MyClass> classes(2);
// now you have classes[0] and classes[1]
std::vector
可以调整大小,并会为您处理所有内存管理开销(在这种情况下,您无需拨打new
或delete
。)