"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo pasar una matriz por referencia en C ++?

¿Cómo pasar una matriz por referencia en C ++?

Publicado el 2025-03-13
Navegar:916

How to Pass an Array by Reference in C  ?

pasando una matriz por referencia

en c, pasar una matriz por referencia nos permite modificar la matriz original que se pasó a la función. Cuando usamos el signo ampersand (&) antes de un tipo de matriz, creamos una referencia a esa matriz.

Considere el siguiente código:

void foo(int (&myArray)[100])
{
}

int main()
{
    int a[100];
    foo(a);
}

En este ejemplo, la función FOO acepta una referencia a una matriz de 100 enteros. Los soportes después de MyArray son necesarios para indicar que el parámetro es una referencia de matriz, no un puntero.

la expresión (& myArray) [100] significa "una referencia a una matriz de 100 enteros". Es una forma alternativa de declarar una referencia de matriz. Las siguientes declaraciones son equivalentes:

  • int (& myArray) [100]
  • int *myArray
  • int myArray []
cuando se aprueba una referencia, el Arriz de Compensador trata el parámetro de la función con el primer elemento de Poterinter con el Poterinter de Poterinte de Pointer. Esto significa que cualquier cambio realizado en la matriz en la función también se reflejará en la matriz original.

Es importante tener en cuenta que void foo (int (& myArray) [100]) solo acepta matrices de 100 elementos. Si intentamos pasar una matriz con un tamaño diferente a la función FOO, daría como resultado un error de tiempo de compilación.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3