为对象矩阵分配一个新的内存
allocate a new memory for matrix of objects
我有类Cars
和对象(指针指向数字指针):
Cars** arr;
我想分配一个新的内存,我该怎么做?
类似:
arr = new Cars*[1]; // make one row
arr[0] = new Cars[10]; // make 10 cols
for (int i = 0; i < 10; ++i) {
arr[0][i] = d; // d is a parameter of: Digits d;
}
我设置rows = 1,因为我认为总是有1行
请帮助我,因为我想我错过了什么
arr = new Cars*[1]; // make one row
arr[0] = new Cars[10]; // make 10 cols
for (int i = 0; i < 10; ++i) {
arr[0][i] = d; // d must be an object of Cars
}
由于arr
存储Cars
类型的元素,因此d
必须是Cars
的object
或可以转换为/视为Cars
的对象。
您最好使用vector of vectors,这样更容易使用,并且您不需要为动态数组的内存管理问题而烦恼。
将其改为std::vector
std::vector<std::vector<Cars>> arr;
arr.resize(1); // make one row
arr[0].resize(10); // make 10 cols
for (int i = 0; i < 10; ++i) {
arr[0][i] = d; // d is a parameter of: Digits d;
}
注意:d必须是Car
相关文章:
- 重新定位图像时如何前进到下一个内存块
- 当分配一个字符串值并稍后通过分配另一个值进行更改时C++如何管理内存?
- 给定一个指向堆分配内存的指针,智能指针实现如何为其找到合适的释放函数?
- 是否可以通过每次在内存中仅保存一个平铺来处理完整的平铺 tiff 图像?
- 如何使用带有矢量的 winapi 读取进程内存从另一个进程读取缓冲区?
- 是否可以使用分配器对象来释放另一个分配器分配的内存?
- C++,一个内存块与多个内存块
- 使用一个内存集数组和单个堆栈在 O(n) 中查找数组的下一个更大元素
- 从一个内存的一个块创建许多eigen :: vectorxd
- 如何使用任意数量的(编译时间确定的)容器创建一个内存池
- 未知错误,调试器只给我一个内存地址
- 你能给我一个内存泄漏的真实工作示例吗?
- 如何知道两个C字符串是否指向一个内存块
- 设计一个内存覆盖检测工具
- Getline返回一个内存地址
- 如何获得一个内存区域的保护标志,标志是PROT_READ /PROT_EXEC在mprotect
- c++又是一个内存泄漏问题
- 为什么我在这里得到一个内存相关的错误
- 我可以为多个向量使用一个内存池吗
- 一个内存高效的SHA1实现