Я парень C, и я пытаюсь понять некоторый код на С++. У меня есть следующее объявление функции:
int foo(const string &myname) {
cout << "called foo for: " << myname << endl;
return 0;
}
Каким образом сигнатура функции отличается от эквивалентной C:
int foo(const char *myname)
Есть ли разница между использованием string *myname vs string &myname? В чем разница между & в С++ и * в C, чтобы указать указатели?
Аналогично:
const string &GetMethodName() { ... }
Что здесь делает &? Есть ли какой-нибудь сайт, объясняющий, как & используется по-разному в C vs С++?