Avatar ·

Cómo declarar un array dinámico bidimensional en C++ usando el operador new

¡Hola! Acabo de empezar a aprender C++ y me encontré con un problema. Necesito crear un array bidimensional cuyo tamaño se conocerá solo durante la ejecución del programa. Sé cómo declarar un array bidimensional estático: `int arr[3][4];`, pero cuando intento hacer que los tamaños sean variables, el compilador se queja. Probé este código: ```cpp int rows = 5, cols = 10; int arr[rows][cols]; // ¡Error! Se necesita una constante en tiempo de compilación ``` Leí sobre memoria dinámica y entendí que necesito usar `new`. Pero, ¿cómo asignar memoria correctamente para un array bidimensional? Vi varias opciones en internet, pero todas son diferentes. Algunos usan un array de punteros, otros asignan un solo bloque grande de memoria. Por favor, escribe una forma correcta y confiable de crear un array bidimensional usando `new`. Me interesa especialmente: 1. Cómo asignar memoria. 2. Cómo acceder a los elementos. 3. Cómo liberar la memoria correctamente (para que no haya fugas). 4. ¿Qué método se considera la mejor práctica en C++ moderno?