【发布时间】:2013-11-11 15:16:46
【问题描述】:
当我想初始化一个多维数组时,我通常只使用指针。例如,对于我使用的两个维度:
double **array
我使用三个:
double ***array
但是,我想根据指示维度的命令行参数设置多维数组。一旦你有一个具有你想要的维数的变量,有没有办法设置一个任意大小的数组?
【问题讨论】:
-
您是否考虑过使用第三方库?对我来说,听起来你正在寻找一个矩阵类; Eigen 是个不错的选择。
-
你可以试试用void*
-
除非您特别需要任意行长度分配大小 在 矩阵中,否则在现代 C++ 程序中绝对没有理由这样做(甚至 这并不是一个合理的理由,因为它具有相当多的工程远见)。
-
When I want to initiate a multidimensional array, I usually just use pointers. -
@MichaelLeVine 最基本的方法是向量的向量。您的问题的其余部分(处理任意数量的维度)是一个设计问题:数组维度 mean 在应用程序的上下文中。任意数量的维度表示您正在尝试将含义更改为应用程序的 instance。这是可能的,但非常混乱,并且作为实际应用表明您没有正确考虑您的设计。
标签: c++ arrays multidimensional-array