¿Qué hace '&' en una declaración de C ++?
Soy un chico C y estoy tratando de entender algo de código C ++. Tengo la siguiente declaración de función:
int foo(const string &myname) {
cout << "called foo for: " << myname << endl;
return 0;
}
¿En qué se diferencia la firma de función del equivalente C:
int foo(const char *myname)
¿Hay alguna diferencia entre usarstring *myname
vsstring &myname
? Cuál es la diferencia entre&
en C ++ y*
en C para indicar punteros?
Similar:
const string &GetMethodName() { ... }
Cuál es el&
¿haciendo aquí? ¿Hay algún sitio web que explique cómo?&
se usa de manera diferente en C vs C ++?