0

我有一个成员函数,它必须创建其类的两个对象(在内存中)。所以我必须返回一个指针“p”,我想通过 p[0] 和 p[1] 访问对象。我只知道关键字new,为一个对象分配内存。是否有类似为 2 个对象分配连续内存的东西?我还可以通过使用关键字 new 两次来创建一个 2 单元数组(两个指针),但我更喜欢更简单的解决方案(p[0] 和 p[1])。

4

2 回答 2

3
 MyClass * p = new MyClass[2];

并记得删除它:

delete[] p;
于 2013-05-13T03:52:05.683 回答
1

使用 a 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可调整大小,并将为您处理所有内存管理开销(在这种情况下您不需要调用newdelete)。

于 2013-05-13T04:16:32.373 回答