Я парень 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 С++?