像新的东西,但分配2个房间

时间:2013-05-13 03:49:22

标签: c++ memory allocation

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

2 个答案:

答案 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可以调整大小,并会为您处理所有内存管理开销(在这种情况下,您无需拨打newdelete。)