
Una matriz dinámica es comparable a una matriz estándar, excepto que su tamaño se puede cambiar mientras se ejecuta el programa. Los miembros de una matriz dinámica ocupan una sola caché de memoria, una vez que se ha completado, una matriz dinámica puede crecer exponencialmente. La memoria caché especificada se asigna a una matriz cuando se crea. Una matriz dinámica, por otro lado, amplía su capacidad de memoria según un criterio específico cuando es necesario. Empleamos una matriz dinámica cuando necesitamos evaluar el tamaño en tiempo de ejecución. En este artículo, analicemos los detalles de la matriz de caracteres dinámicos en C++.
Utilice el operador new():
El operador new proporciona dinámicamente el objeto en la memoria principal y le devuelve un puntero. Una matriz de caracteres se declara en este programa subsiguiente. Después de eso, en un bucle forasignamos eficientemente la matriz de caracteres y especificamos los datos apropiados para sus componentes.
usando el espacio de nombres estándar;
En t principal()
{
En t i, a;
cout< «Ingrese el número de valores:» <>a;
En t *Arr = nuevo En t(a);
cout< «Ingresar « < a < » valores» <final;
por (i = ; i<a>>Arr[i];
}
cout< «Entraste: «;
por (i = ; i< a; i++)
{
cout<Arr[i] < » «;
}
devolver ;
}
Aquí, vamos a integrar el archivo de encabezado.
Primero, declaramos dos variables ‘i’ y ‘a’. Utilizamos la declaración ‘cout’ para imprimir la línea en la pantalla para que el usuario ingrese la cantidad de números que desea adquirir. Luego, este valor se asigna a la variable ‘a’. Ahora, adquirimos una matriz que contiene el valor de la variable ‘a’ y luego asignamos esto a un puntero de la matriz. Una vez más, se utiliza el comando ‘cout’ para permitir que el usuario ingrese cualquier número aleatorio.
Se ejecuta el bucle For, que inicializa una variable de bucle ‘i’ para recapitular los números introducidos por el usuario. Ahora se muestran los números dentro de la matriz ‘arr’. En una ejecución exitosa, el programa devolverá valor. El cuerpo de la función main() ha llegado a su fin.
Utilice una lista de inicializadores:
Es simple establecer una matriz de caracteres dinámicos en 0. La longitud indica la cantidad de elementos que se insertarán en la matriz en esta metodología. La matriz se dejará en blanco porque tenemos que especificar la matriz de caracteres a cero. Se usaría una lista de inicializadores para crear una matriz de caracteres dinámicos. Echa un vistazo a un ejemplo.
usando el espacio de nombres estándar;
En t principal(vacío)
{
En t j;
En t *formación{ nuevo En t[8]{ 1, 14, 9, , 33, 5, 28, 6 } };
cout< «Elementos de la matriz: « <final;
por (j = ; j < 8; j++)
{
cout< formación[j] <final;
}
devolver ;
}
Primero, incluimos el archivo de cabecera
Aplicamos el bucle ‘for’. Dentro del bucle ‘for’ simplemente inicializamos una variable de bucle ‘j’ y luego especificamos la condición de que el valor de la variable ‘j’ debe ser inferior a 8. En la última parte, aumentamos el valor del bucle. Para mostrar los elementos de la matriz definida en la pantalla, se utiliza la instrucción ‘cout’. Fuera del bucle ‘for’ ingresamos el comando ‘return 0’ para finalizar el programa.
Utilice el método std::unique_ptr:
El puntero std::unique_ptr es otro enfoque para crear una matriz de caracteres dinámicos y facilita una interfaz de asignación de memoria segura. El elemento al que apunta la función unique_ptr debe ser propiedad de la operación; pero, si el puntero sale del rango, el elemento se descarta. A diferencia de los punteros convencionales, el puntero inteligente no requiere un programador para ejecutar el operador de eliminación; más bien, se llama implícitamente cada vez que se elimina el elemento.
#incluir
usando estándar::cout;
usando estándar::final;
constexpr En t s = 11;
estático constante carbonizarse caracteres[] =
{ ‘YO’, ‘norte’, ‘F’, ‘O’, ‘r’, ‘metro’, ‘a’, ‘T’, ‘YO’, ‘o’, ‘NORTE’ };
En t principal()
{
estándar::único_ptrarr(nuevo carbonizarse[s]);
por(En t k = ; k < s; ++k)
{
Arr[k] = caracteres[k];
cout<Arr[k] < «; «;
}
cout<final;
devolver SALIR_ÉXITO;
}
Al comienzo del programa, presentamos dos bibliotecas requeridas:
En el siguiente paso, declaramos la matriz de caracteres constante estática para definir sus elementos. Invocamos la función main(). Y para la asignación de memoria, aplicamos std::unique_ptr dentro del cuerpo de la función. Construimos una variable de bucle ‘k’ dentro del bucle for para repasar los valores de la matriz definida. Luego, recupere los valores definidos de la matriz y guárdelos en la variable ‘arr’. Para mostrar los caracteres contenidos en ‘arr’, se utiliza la instrucción ‘cout’. Para lograrlo, el código puede devolver valor. En el último paso, usamos ‘return EXIT_SUCCESS’ para finalizar el código.
Conclusión:
En este artículo, hemos hablado sobre la matriz dinámica de caracteres y las diferentes metodologías de asignación de matrices de caracteres en C++. Estas técnicas incluyen el uso de un operador new(), una lista de inicializadores y el método std::unique_ptr. Utilizamos una matriz dinámica cuando necesitamos determinar el tamaño de la matriz de caracteres en tiempo de ejecución. La longitud de una matriz de caracteres dinámicos se determina en el momento de la asignación.