Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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++ ref类c+中的动态多维数组+;_C++_.net_Arrays_C++ Cli - Fatal编程技术网

C++ ref类c+中的动态多维数组+;

C++ ref类c+中的动态多维数组+;,c++,.net,arrays,c++-cli,C++,.net,Arrays,C++ Cli,如果有人告诉我如何在ref类中声明动态多维数组,我将不胜感激?有人可以发布一个示例代码吗?如果您负担得起数组的重新分配,那么请使用array类型 您可以使用“数组的数组”结构 /// Declaration array<array<SomeType>^>^ arr; /// Inititalization arr = gcnew array<array<SomeType>^> (NumElts1); for(int i=0 ; i <

如果有人告诉我如何在ref类中声明动态多维数组,我将不胜感激?有人可以发布一个示例代码吗?

如果您负担得起数组的重新分配,那么请使用
array
类型

您可以使用“数组的数组”结构

/// Declaration
array<array<SomeType>^>^ arr;

/// Inititalization

arr = gcnew array<array<SomeType>^> (NumElts1);

for(int i=0 ; i < NumElts1 ; i++)
{
  arr[i] = gcnew array<SomeType> (NumElts2);
}
因此,您可以将其用于1D数组,而无需第二个参数

array<SomeType>^ Arr = gcnew array<SomeType>(SizeOfThisArray);
array^Arr=gcnewarray(SizeOfThisArray);

<代码> >,你想用C++还是C++?这里有两个非常不同的代码示例。@用户您是否考虑过在cli中使用
std::vector
。我在.NET Visual C++中编写。我不知道如何声明一个动态std::vector数组我可以声明一个看起来像你的第二个示例的多维数组,但是没有numDims(我想动态地更改它们)?这样你就不能。它“太有活力”。仅使用列表和较低固定维数组的精确索引有什么错?好的。那么,我可以使用没有numDims的一维数组声明吗?当然,维度数有一个默认值,它是1。请参阅我的编辑。array是从System::array派生的模板
template<typename T, int NumDims = 1>
ref class array: System::Array
{
    // black magic here
}
array<SomeType>^ Arr = gcnew array<SomeType>(SizeOfThisArray);