c++ - una - variable discreta
“&” Significa después del tipo de variable (2)
Posible duplicado:
¿Cuáles son las diferencias entre la variable de puntero y la variable de referencia en C ++?
¿Cuál es el significado de * y & cuando se aplica a nombres de variables?
Tratando de entender el significado de " &
" en esta situación
void af(int& g)
{
g++;
cout<<g;
}
Si llama a esta función y pasa el nombre de la variable, actuará de la misma manera que el void(int g)
normal void(int g)
. Lo sé, cuando escribe &g
eso significa que está pasando la dirección de la variable g
. ¿Pero qué significa en esta muestra?
El &
significa que la función acepta la dirección (o referencia) a una variable, en lugar del valor de la variable.
Por ejemplo, note la diferencia entre esto:
void af(int& g)
{
g++;
cout<<g;
}
int main()
{
int g = 123;
cout << g;
af(g);
cout << g;
return 0;
}
Y esto (sin el &
):
void af(int g)
{
g++;
cout<<g;
}
int main()
{
int g = 123;
cout << g;
af(g);
cout << g;
return 0;
}
Significa que estás pasando la variable por referencia.
De hecho, en una declaración de un tipo, significa referencia, como:
int x = 42;
int& y = x;
declara una referencia a x
, llamado y
.