0

我有类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 行。

请帮助我,因为我想我错过了一些东西..

4

2 回答 2

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元素,必须是of或可以转换为/查看为的对象。CarsdobjectCarsCars

您最好使用向量的向量,这更容易使用,并且您无需为动态数组的内存管理问题而烦恼。

于 2013-05-13T13:48:22.880 回答
0

将其设置为 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 必须是汽车。

于 2013-05-13T13:52:09.897 回答