0

我创建了一个 int 数据类型的 3d 数组。但我的需求现在更加强大,数组的每一层都可以是不同的数据类型。例如:layer1 可以是 int 类型,而 layer 2 可以是 float 类型。任何帮助,将不胜感激。

谢谢

4

3 回答 3

2

在我看来,您的数据结构已经达到了复杂程度,最好用一个适当封装的类甚至多个嵌套类而不是多维数组来表示它。这些类的方法取决于您的实际需求,只能从您的帖子中猜测。

于 2013-02-07T16:44:01.500 回答
1

听起来你想要的是一个二维元组数组。假设您想要三层,分别是intfloatchar。然后你会想要:

std::tuple<int, float, char> arr[X][Y];

然后前两个索引将为您提供“层”中的位置,最后一个是哪一层:

std::get<2>(arr[5][7])
于 2013-02-07T16:59:11.193 回答
0

如果您想以一种简单的方式进行操作,只需定义一个满足您要求的结构即可。

于 2013-02-08T18:35:27.023 回答