我必须声明一个数组或多维数组的数组,而不知道大小.我希望在这种情况下使用简单的数组做类似的事情:
int *array;
cin >> size;
array = new int[size];
Run Code Online (Sandbox Code Playgroud)
也许我可以做一个循环来初始化像这样的指针指针:
int **array;
cin >> rows >> col;
array = new *int[rows]
for (int i = 0; i < rows; ++i)
array[i] = new int[col];
Run Code Online (Sandbox Code Playgroud)
但如果可以提供更好的解决方案,我更愿意不这样做.
为什么不使用std :: vector?
std::vector<std::vector<int> > array;
Run Code Online (Sandbox Code Playgroud)
如果您不想使用指针数组,则可以使用在获取大小后动态分配的一个大型数组,并将其作为行数组进行访问.
int rows = 10;
int columns = 20;
int* array = new int[rows * columns];
for (int count = 0; count < rows; count++)
{
int* row = &array[count * columns];
for (int inner_count = 0; inner_count < columns; inner_count++)
{
int* element = &row[inner_count];
//do something
}
}
delete [] array;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12711 次 |
| 最近记录: |