Las matrices almacenan los datos del mismo tipo en una ubicación de memoria consecutiva. Las funciones dividen los problemas más grandes en trozos más pequeños para facilitar el código de los programadores. Otra ventaja de usar la función es que hace que el código se vea presentable y limpio. A veces, necesitamos una función que devuelva una matriz para que podamos utilizar esa matriz en otras funciones. Luego, viene el concepto de la función de retorno de la matriz en c++. Es la función que devuelve la matriz a otra función. En este tutorial de indicios de Linux le mostraremos con ejemplos de cómo devolver las matrices de las funciones que escribe en el idioma C ++.
Métodos:
Para devolver una matriz completa en una sola llamada de función no es posible. Hacemos esto con diferentes técnicas. Hay tres metodologías en C ++ para devolver una matriz desde una función. Los explicaremos a todos uno tras otro con códigos.
Devuelva la matriz desde una función usando:
Puntería
Los punteros en cualquier lenguaje de programación se utilizan para contener la dirección de memoria de otra ubicación de memoria en él. Los punteros también se usan para pasar una función a otra función. Con esto, podemos pasar un datos de matriz a las otras funciones.
En los punteros, también hay dos enfoques para devolver la matriz de una función:
Estructura
Las estructuras se utilizan para almacenar los diferentes tipos de datos en él. Dentro de las estructuras, podemos almacenar la matriz y hacer una instancia de esa estructura. De esta manera, podemos devolver la matriz. Podemos hacer más de una instancia de estructura para acceder a la matriz que se almacena en la estructura.
Std :: matriz
Esta es otra función que se utiliza para devolver la matriz de la función en C++. También proporciona dos métodos: uno es el tamaño () y el otro está vacío (). La matriz std :: podemos decir que es una plantilla de estructuras. Pero los dos métodos que proporciona son el punto más de usar esta función para obtener la matriz de cualquier función. Esta función rara vez se usa; a menudo usamos punteros y estructura.
Ejemplo 1:
Ahora, para explicar cómo podemos usar los punteros para devolver la matriz dinámica de una función, mire el siguiente código:
#incluir
usando el espacio de nombres STD;
char* caracteres_func ()
char* array_0 = nuevo char [3];
array_0 [0] = 'a';
array_0 [1] = 'b';
array_0 [2] = 'c';
return array_0;
int main ()
char* p = caracteres_func ();
cout<< "The character array is ";
cout <<"\t"<< p[0] << " " << p[1]<< " " << p[2];
regresar 0;
Después de declarar la biblioteca, defina una función caracteres_func () para almacenar la matriz en ella. La función es una función de tipo de retorno. El tipo de retorno es "char" que devuelve la matriz de caracteres. Char* dice que es un puntero almacenar los datos del tipo de caracteres. Dentro de esta función, declare una matriz del puntero para almacenar la matriz de personajes. El tamaño de la matriz es 3. Luego, la matriz se inicializa mediante el número de índice y devuelve la variable de matriz. Almacenamos la matriz de personajes en "Array_0". En el método main (), cree un puntero "P" del tipo de personaje y almacene el caracteres_func () en él. Esto significa que, con la ayuda de este puntero "P", podemos acceder a los elementos en caracteres_func (). Luego, muestre un mensaje en la terminal con el "Cout<<” statement. Similarly, print the array components by accessing them with the pointer “p” from the return type function. Cout<< “\t” leaves a tab space, <
Ejemplo 2:
Aquí, utilizamos los punteros para devolver la matriz estática de una función.
#incluir
usando el espacio de nombres STD;
flotante* flotating_func ()
array static float_1 [2];
Array_1 [0] = 3.5;
array_1 [1] = 5.7;
return array_1;
int main ()
float* pointer = flotating_func ();
cout<<"\n\t The floating point static array is ";
cout <<"\t"<< pointer[0] << "\t" << pointer[1]<regresar 0;
En este ejemplo, tomemos una función de puntero de tipo de retorno del tipo de flotación que devuelve la matriz de puntos flotantes. Dentro de la función flotante_func (), inicialice una matriz de puntos flotantes - "Array_1" - del tamaño 2. Aquí, usamos la palabra clave "estática" para establecer la variable como una variable local a la que se puede acceder fuera de la función. Ahora, declare la matriz y devuelva la variable de matriz. En la función main (), defina un puntero de punto flotante y asigne una función flotante_func (). Luego, represente un mensaje en la pantalla. Con la ayuda de un puntero, ahora podemos acceder a todos los elementos de la función de tipo de retorno. Muestre los elementos de la matriz llamando a un puntero. El puntero entra dentro de la función y obtiene la matriz que establecemos como regreso. Emplee la instrucción "Devolver 0" para terminar el código.
Ejemplo 3:
En esta última instancia, devolvemos una matriz de una función utilizando estructuras.
#incluir
usando el espacio de nombres STD;
estructura arr
int a [5];
;
struct arr_func ()
estructura arr val;
Val.a [0] = 5;
Val.a [1] = 67;
Val.a [2] = 98;
Val.a [3] = 77;
Val.a [4] = 55;
devolver val;
int main ()
struct arr val = arr_func ();
cout<<"\n\tThe array is \n";
para (int i = 0; i<5; i++)
cout <<"\t"<< val.a[i]<
regresar 0;
Defina la estructura "ARR" utilizando la palabra clave "struct". En esta estructura, inicializa una matriz de tamaño 5. Luego, declaramos las diferentes variables y accedemos a ellas con el nombre de la estructura para usarlas en las funciones. Ahora, cree una función de estructura arr_func () para inicializar la matriz. Para hacerlo, defina una "estructura" para llamar a la variable "Val". La variable "Val" accede a la ubicación de la matriz "struct" y almacene el valor en ella. Todos los artículos de la matriz ahora se almacenan en "Val". En el método main (), cree la instancia de "struct" y asigne la función arr_func (). Imprima el texto "La matriz es" en la consola llamando al "Cout<<”. To print the array, we utilize the “for” loop. Set the “for” to iterate 5 times. Insert the statement inside the curly braces so that we get the items of the array. Outside the loop, pass the “return 0” statement.
Conclusión
Este artículo ilustra cómo devolver una matriz de una función en C++. La matriz se puede devolver de la función con tres enfoques diferentes. Cada metodología se explica en detalle, siguiendo el ejemplo de codificación. Todo se aborda desde el principio, incluido el uso de punteros y sus tipos, el uso de estructuras y la función STD :: Array. C ++ no tiene métodos incorporados como los otros idiomas proporcionan, por lo que tenemos que hacer todo por nuestra cuenta. C ++ es lo mejor para principiantes para comprender los conceptos básicos de la codificación.