Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C+中运行时生成n维数组+; 我在C++中处理一个处理NETCDF文件的工具。我希望我的工具能够处理不同布局的netCDF文件。目前,我只能加载包含一维或三维数据变量的netCDF文件。我想允许n维netCDF变量。问题是,我需要将数据转换为使用原始C数组的不同格式。所以我需要能够在运行时生成n维C数组_C++_Arrays_Multidimensional Array_Typedef - Fatal编程技术网

在C+中运行时生成n维数组+; 我在C++中处理一个处理NETCDF文件的工具。我希望我的工具能够处理不同布局的netCDF文件。目前,我只能加载包含一维或三维数据变量的netCDF文件。我想允许n维netCDF变量。问题是,我需要将数据转换为使用原始C数组的不同格式。所以我需要能够在运行时生成n维C数组

在C+中运行时生成n维数组+; 我在C++中处理一个处理NETCDF文件的工具。我希望我的工具能够处理不同布局的netCDF文件。目前,我只能加载包含一维或三维数据变量的netCDF文件。我想允许n维netCDF变量。问题是,我需要将数据转换为使用原始C数组的不同格式。所以我需要能够在运行时生成n维C数组,c++,arrays,multidimensional-array,typedef,C++,Arrays,Multidimensional Array,Typedef,我可以将数据存储在一维数组中,并对不同数量的维度使用不同的访问模式,但如果可能的话,我更愿意使用n维数组(它们与我想要转换的格式相比工作得更好) 我认为使用模板和typedef应该是可能的,但是我没有足够的经验来自己实现它,而不花大量的时间来学习这些概念 我很感激任何帮助或想法如何解决这个问题。使用std::vector也许?“我需要能够在运行时生成n维C数组……我认为这应该可以使用模板和typedef。”问题是,C++中使用C数组需要为维度提供一个文字常数,因为C++不支持可变长度数组声明(除

我可以将数据存储在一维数组中,并对不同数量的维度使用不同的访问模式,但如果可能的话,我更愿意使用n维数组(它们与我想要转换的格式相比工作得更好)

我认为使用模板和typedef应该是可能的,但是我没有足够的经验来自己实现它,而不花大量的时间来学习这些概念


我很感激任何帮助或想法如何解决这个问题。

使用
std::vector
也许?“我需要能够在运行时生成n维C数组……我认为这应该可以使用模板和typedef。”问题是,C++中使用C数组需要为维度提供一个文字常数,因为C++不支持可变长度数组声明(除非编译器扩展)。这个答案可能会有帮助。请注意,它将所有数据连续存储在
multi\u dim\u array::data
-a
std::vector
中,您可以通过
std::vector::data()
从中获取内部类C数组的地址。关于C语言中的多维数组,我用一个漂亮的草图找到了另一个答案:。(我想起了另一个暂时找不到的东西。)