Visual c++ 在c+中动态初始化多维数组+;

Visual c++ 在c+中动态初始化多维数组+;,visual-c++,Visual C++,可能重复: 我正在开发一个应用程序。因为我需要动态地声明多维数组。使用动态数组大小和值,我希望您能参与其中。请有人帮我做这件事 提前感谢这取决于您想要它的“动态”程度 一种方法是: const size_t outerSize = 15; const size_t innerSize = 20; int* arr = new int[outerSize * innerSize]; // To access an item, multiply the row index by the "wi

可能重复:

我正在开发一个应用程序。因为我需要动态地声明多维数组。使用动态数组大小和值,我希望您能参与其中。请有人帮我做这件事

提前感谢

这取决于您想要它的“动态”程度

一种方法是:

const size_t outerSize = 15;
const size_t innerSize = 20;

int* arr = new int[outerSize * innerSize];

// To access an item, multiply the row index by the "width", and add the column index
arr[innerSize * 5 + 7] = 13;

// When done with the array:
delete[] arr;
这个解决方案的问题是,您必须非常小心地确保调用
delete[]数组,即使引发异常

如果您不想担心内存管理,并且可以小心不要制作锯齿阵列(或者可以使用锯齿阵列),那么您可以使用:

std::vector<std::vector<YourType> >
std::vector
您可以使用以下特定大小对其进行初始化:

const size_t outerSize = 15;
const size_t innerSize = 20;

std::vector<YourType> initalRow(innerSize);
std::vector<std::vector<YourType> > multiDimArray(outerSize, initalRow);
const size\u t outerSize=15;
常量大小\u t innerSize=20;
std::向量初始行(innerSize);
向量多维数组(outerSize,initalRow);
您还可以使用默认的预填充值对其进行初始化:

const size_t outerSize = 15;
const size_t innerSize = 20;

YourType initialValue;
initialValue.ExampleValue = 7;
std::vector<YourType> initalRow(innerSize, initialValue);
std::vector<std::vector<YourType> > multiDimArray(outerSize, initalRow);
const size\u t outerSize=15;
常量大小\u t innerSize=20;
YourType初始值;
initialValue.ExampleValue=7;
std::vector initalRow(innerSize,initialValue);
向量多维数组(outerSize,initalRow);
与任何多维数组一样,填充它的最简单方法是在两个循环中:

const size_t outerSize = 15;
const size_t innerSize = 20;

std::vector<YourType> initalRow(innerSize);
std::vector<std::vector<YourType> > multiDimArray(outerSize, initalRow);

for(size_t i = 0; i < outerSize; ++i)
{
  for(size_t j = 0; j < innerSize; ++j)
  {
    multiDimArray[i][j].ExampleValue = i * j;
  }
}
const size\u t outerSize=15;
常量大小\u t innerSize=20;
std::向量初始行(innerSize);
向量多维数组(outerSize,initalRow);
对于(大小i=0;i
使用。显示您目前拥有的代码,以便我们可以看到您正在使用的代码。