
Los arreglos bidimensionales se pueden construir de dos maneras diferentes: usando memoria convencional o almacenamiento libre. Si un programa se está ejecutando, puede acceder a su memoria normal y memoria adicional. El código no impone almacenamiento gratuito, que es memoria adicional. En la memoria convencional, el programa genera una matriz bidimensional estándar. Si el programa tiene la intención de construir la misma matriz bidimensional en almacenamiento libre, puede hacerlo dinámicamente.
Dentro de cada tipo de memoria, existen diferentes formas de definir una matriz bidimensional. Simplemente deje que una matriz 2D normal salga de los límites para eliminarla.usar eliminar[] El operador elimina efectivamente las matrices bidimensionales generadas en la biblioteca gratuita. Analicemos cómo eliminar una matriz 2D en C++:
eliminar matriz simple 2d
Para las matrices normales bidimensionales fuera de rango, es necesario eliminarlas. Al anidar campos, el programa dice:
Usar estándares de espacio de nombres;
entero principal()
{
si (1 == 1) {
Cadena arr2D[][4] = {{«ZZ», «ZY», «ZX», «ZW»},
{«mm», «ml», «MK», «Jordán»},
{«dos», «YO», «YO G», «si»},
{«PÁGINAS», «CORREOS», «PN», «tarde»}};
Tribunal< Arr2D[1][1] <Finalizar;
}
devolver ;
}
Primero tenemos que introducir el archivo de cabecera
‘ML’ es el resultado de ejecutar el código anterior. Los contextos anidados son parte de una estructura if. Al final de la sección, la matriz ya no es válida. Las notas se indican debajo de la sección de función en el código. Si se elimina el programa, el programa no se compilará y puede aparecer una notificación de error.
La matriz bidimensional estándar especificada en el cuerpo de la función termina después de la llamada a la función en el siguiente código:
Usar estándares de espacio de nombres;
vacío fn()
{
Cadena arr2D[][4] = {{«ZZ», «ZY», «ZX», «ZW»},
{«PÁGINAS», «CORREOS», «PN», «tarde»},
{«dos», «YO», «YO G», «si»},
{«mm», «ml», «MK», «Jordán»}};
Tribunal< Arr2D[1][1] <Finalizar;
}
entero principal()
{
fn();
devolver ;
}
Al comienzo del programa, incluimos el archivo de encabezado
Después de todo, aplicamos la función main(). Dentro del cuerpo de esta función, declaramos fn(). Finalmente, se está utilizando el comando «return 0».
A nivel global, no se permite asignar un valor a un componente 2D antes de su declaración.
Elimine una matriz bidimensional construida dinámicamente de punteros de almacenamiento libre
En un nivel más amplio, no hay necesidad de asignar antes de la declaración. Para fines educativos, es útil definir una matriz bidimensional en un campo anidado de una función principal de C++.la expresión «eliminar[] Matriz bidimensional» se usa para eliminar una matriz bidimensional especificada en un programa. Esta eliminación debe ocurrir dentro de su dominio para liberar memoria y reducir los desbordamientos de memoria. Al anidar rangos, el siguiente programa ejemplifica esto:
Usar estándares de espacio de nombres;
entero principal()
{
si (1 == 1) {
cuerda (*ptr2D)[5] = nueva cadena[5][5] {{«ZZ», «ZY», «ZX», «ZW»},
{«PÁGINAS», «CORREOS», «PN», «tarde»},
{«dos», «YO», «YO G», «si»},
{«mm», «ml», «MK», «Jordán»},
{«EA», «EB», «Comunidad Europea», «Departamento de Educación», «EE»}};
Tribunal< ptr2D[][] <Finalizar;
Eliminar [] ptr2D;
Tribunal< ptr2D[][] <Finalizar;
}
devolver ;
}
Después de incluir la biblioteca
Después de eliminar un elemento de la matriz, el código vuelve a estar vacío.
matriz de memoria libre bidimensional de puntero a puntero
Como matriz de puntero a puntero, se puede generar una matriz bidimensional. En este caso, cada fila debe eliminarse primero, seguida por la matriz 1D restante. En C++, el siguiente ejemplo demuestra esto:
Usar estándares de espacio de nombres;
entero principal()
{
cuerda **ptr2D = nueva cadena*[3];
ptr2D[] = nueva cadena[5];
ptr2D[][] = «ZZ»; ptr2D[][1] = «ZY»; ptr2D[][2] = «ZX»; ptr2D[][3] = «ZW»;
ptr2D[1] = nueva cadena[5];
ptr2D[1][] = «mm»; ptr2D[1][1] = «ml»; ptr2D[1][2] = «MK»; ptr2D[1][3] = «Jordán»;
ptr2D[2] = nueva cadena[5];
ptr2D[2][] = «dos»; ptr2D[2][1] = «YO»; ptr2D[2][2] = «YO G»; ptr2D[2][3] = «si»;
Tribunal< ptr2D[2][2] <Finalizar;
por(entero Una generación = ; Una generación< 3; ++Una generación) {
Eliminar[] ptr2D[i];
}
Eliminar[] ptr2D;
Tribunal< ptr2D[1][1] <Finalizar;
devolver ;
}
archivo principal
Hemos estado usando un bucle «for» para eliminar primero las filas de la matriz. La variable de bucle se inicializa y luego se le aplica la condición. Finalmente, incrementamos el valor de la variable de bucle.usamos borrar[] método para eliminar entidades adicionales. El comando ‘return 0’ se usa para finalizar el código.
Para eliminar matrices 2D en la biblioteca gratuita, primero, elimine todas las filas usando eliminar[] luego elimina la matriz unidimensional principal de punteros.
En conclusión
En este artículo, describimos diferentes formas de eliminar arreglos bidimensionales en C++. Simplemente deje que la matriz simple 2D se salga de los límites para eliminarla.Si la matriz 2D está en almacenamiento gratuito, se eliminará usando eliminar[] El operador libera memoria en el dominio especificado.Si las matrices 2D en la biblioteca gratuita se construyen con notación estándar, la eliminación es trivial[] Nombre de matriz bidimensional. «
Si se construye como un puntero a puntero, primero use «eliminar» para eliminar la línea[] nombre de matriz 2D[i]», luego use «eliminar» para eliminar la matriz 1D existente[] nombre de matriz 2D».