2D指向对象的指针数组

时间:2014-04-23 21:21:48

标签: c++

我试图让一个包含指向某些对象的数组数组的管理器类,让我们将这些对象称为蘑菇。

但是我不知道decleration的语法应该如何以及如何在我将其解析后在另一个函数中访问指针一次。以下是我认为声明应该采用的一些方法..

Mushroom** mushroomArray;

Mushroom* mushroomArray[10][10];

Mushroom mushroomArray[10][10];

这些都有效吗?有什么区别?

在宣布2D阵列后,我将如何在函数中访问蘑菇的指针"正确"?

由于

2 个答案:

答案 0 :(得分:2)

使用std :: array:

std::array< std::array< Mushroom*, 10>, 10>

答案 1 :(得分:1)

  

一组指针数组

这应该是非常简单的:

Mushroom* mushroomArray[10][10];
  

我将如何在函数中访问蘑菇的指针

您是在谈论在同一个函数中定义和使用的局部变量吗?

void someFunction()
{
    Mushroom* mushroomArray[10][10];
    mushroomArray[0][0] = new Mushroom("your", "arguments", "here");
}

或者你是在谈论在一个函数中定义数组然后在另一个函数中使用它?

void someFunction(Mushroom* (*p)[10])
{
    p[0][0] = new Mushroom("your", "arguments", "here");
}

int main()
{
    Mushroom* mushroomArray[10][10];
    someFunction(mushroomArray);
}