有点像新东西,但分配了2个房间
Something like new but to allocate 2 rooms
我有一个成员函数,它必须创建其类的两个对象(在内存中)。所以我必须返回一个指针"p",我想通过p[0]和p[1]访问对象。我只知道关键字new,为一个对象分配内存。是否有类似的方法为2个对象分配连续内存?我也可以通过使用关键字new两次创建一个2单元格数组(两个指针),但我更喜欢一个更简单的解决方案(p[0]和p[1])。
MyClass * p = new MyClass[2];
,记得用:
delete[] p;
使用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
)。
相关文章:
- C++,在对象内分配多个数据时,堆栈分配是否更有效? 在下面的程序中,类A_Heap的效率会更低吗?
- 使用领带从元组中分配 2 个 lambda
- 为什么 new 第一次分配 1040 个额外的字节?
- 字符串和输入文件,从包含字符串的 txt 文件中分配多个变量值
- 分配两个二元数组
- 计算机如何分配两个变量,我们如何计算两个变量之间的距离?
- 是否可以分配两个不同类型的结构
- 分配两个双精度值,保证产生相同的位集模式
- 在内存中分配多个结构
- 如何根据输入在数组中分配多个索引
- 仅分配第一个字符,将 LPCTSTR 转换为字符*
- 如何在一个呼叫中分配多个变量
- 分配两个 QObject
- 分配两个调用cudaMalloc一次的数组
- 如果我使用共享内存,可以分配多少个块
- 在结构中动态分配多个结构
- 如何分配两个二维数组
- C++强制 new[] 不分配 4 个额外的字节
- 在派生类中同时分配多个字段-为什么这样做有效
- 使用一个"新"分配四个对象数组