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 .