我创建了一个 int 数据类型的 3d 数组。但我的需求现在更加强大,数组的每一层都可以是不同的数据类型。例如:layer1 可以是 int 类型,而 layer 2 可以是 float 类型。任何帮助,将不胜感激。
谢谢
在我看来,您的数据结构已经达到了复杂程度,最好用一个适当封装的类甚至多个嵌套类而不是多维数组来表示它。这些类的方法取决于您的实际需求,只能从您的帖子中猜测。
听起来你想要的是一个二维元组数组。假设您想要三层,分别是int
、float
和char
。然后你会想要:
std::tuple<int, float, char> arr[X][Y];
然后前两个索引将为您提供“层”中的位置,最后一个是哪一层:
std::get<2>(arr[5][7])
如果您想以一种简单的方式进行操作,只需定义一个满足您要求的结构即可。