如何在c ++中创建一个3d数组,每个层都有自己的数据类型

时间:2013-02-07 16:39:49

标签: c++ arrays

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

由于

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

听起来你想要的是一个二维元组阵列。假设您想要三个intfloatchar的图层。然后你会想要:

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

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

std::get<2>(arr[5][7])

答案 2 :(得分:0)

如果您想以简单的方式完成,只需定义一个符合您要求的结构。