#include <iostream>
// 2D arrays.
int main(void)
{
// creating...
int* array = new int[5]; //array[0] = 0;
for (int i = 0; i < 5; i++)
{
array[i] = 1;
}
int** array2D = new int*[5];//array2D[0] = nullptr; //array2D[0][0] = 0;
for (int i = 0; i < 5; i++)
{
array2D[i] = new int[5];
}
for (int x = 0; x < 5; x++)
{
for (int y = 0; y < 5; y++)
{
array2D[y][x] = 2;
}
}
int*** array3D = new int** [5];//array3D[0][0] = nullptr; //array3D[0][0][0] = 0;
for (int i = 0; i < 5; i++)
{
array3D[i] = new int* [5];
for (int j = 0; j < 5; j++)
{
int** ptr = array3D[i];
ptr[j] = new int[5];
}
}
for (int x = 0; x < 5; x++)
{
for (int y = 0; y < 5; y++)
{
for (int z = 0; z < 5; z++)
{
array3D[z][y][x] = 3;
}
}
}
// deleting...
delete[] array;
for (int i = 0; i < 5; i++)
{
delete[] array2D[i];
}
delete[] array2D;
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
delete[] array3D[i][j];
}
}
delete[] array3D;
using 1D array as a 2D array, a lot faster than 2D arrays.
//int* fastArray = new int[5*5];
//for (int x = 0; x < 5 * 5; x++)
//{
// for (int y = 0; y < 5; y++)
// {
// fastArray[y + x*5] = 2;
// }
//}
std::cin.get();
}
【Cherno的C++视频】Multidemensional arrays in C++
最新推荐文章于 2024-10-18 22:48:33 发布