Una copia de una matriz no se produce cuando es aprobado por referencia. En su lugar, la función o el método recibe una referencia a la matriz inicial. Como resultado, cualquier modificación realizada en la matriz en la función o método tendrá un impacto en la matriz inicial.
Puede tomar un tiempo pasar una matriz por valor, ya que hace un duplicado de la matriz original en la memoria, especialmente cuando se trabaja con grandes matrices. Sin embargo, Pasando una matriz por referencia es más efectivo ya que simplemente pasa la ubicación de la memoria de la matriz original.
El argumento de la función debe especificarse como una variable de referencia utilizando 'Y'Símbolo para pasar una matriz por referencia en c++. Esto elimina el requisito de que la función devuelva un valor ya que cualquier modificación realizada a la matriz dentro de la función también se aplicará a la matriz inicial.
#incluir
void modify_array (int (& arr) [3])
arr [0] = 5;
arr [1] = 6;
arr [2] = 7;
int main ()
int arr [3] = 1, 2, 3;
modify_array (arr);
std :: cout << "Modified array: ";
para (int i = 0; i < 3; i++)
std :: cout << arr[i] << " ";
std :: cout << std::endl;
regresar 0;
En el código anterior, el argumento para el modify_array () la función es una referencia a una matriz de números. El modify_array () El método cambia los elementos de la matriz dándoles nuevos valores. En este caso, 5, 6 y 7 se establecen como los primeros tres elementos de la matriz, en consecuencia.
Se define e inicializa una matriz de tres enteros con los números 1, 2 y 3 en la función principal. Esta matriz se envía como una entrada al modify_array () método. El modify_array () El método altera los miembros del original matriz ya que la matriz se pasa por referencia.
Producción
Beneficios de pasar una matriz por referencia
1: eficiencia
La eficiencia es una ventaja de Pasando matrices por referencia. Se crea un duplicado de la matriz completa cuando se pasa una matriz por valor. Esto podría consumir mucha memoria y ralentizar el software. Cuando las matrices se pasan por referencia, el programa usa menos memoria y se ejecuta más rápidamente.
2: adaptabilidad
La flexibilidad es otra ventaja de Pasando matrices por referencia. Cuando una matriz es aprobado por referencia, La función o método puede agregar, eliminar o cambiar los elementos de la matriz. Debido a que la función o el método se puede utilizar para llevar a cabo varias actividades basadas en los requisitos del programa, esto le da a la programación flexibilidad adicional.
Hay algunos factores importantes a considerar al proporcionar una matriz por referencia en C++. En primer lugar, el 'Y'No se requiere símbolo cuando pasar un nombre de matriz como referencia argumento ya que un nombre de matriz es efectivamente un puntero al primer elemento de la matriz. En segundo lugar, se debe administrar el tamaño de la matriz al declarar un parámetro de referencia para una matriz. Por último, es arriesgado y aconsejable evitar cambiar el tamaño de una matriz dentro de una función.
Conclusión
Una característica importante de C ++ que permite una programación más efectiva y adaptable es la capacidad de pasar matrices por referencia. La memoria se conserva y la aplicación se ejecuta más rápidamente utilizando la referencia a la matriz original. Además, la opción de alterar la matriz inicial ofrece libertad de programación adicional. Para garantizar la ejecución apropiada, es crucial usar la sintaxis correcta y establecer claramente el tamaño de la matriz en la firma o firma del método.