我是一个C人,我正在尝试理解一些C++代码.我有以下函数声明:
int foo(const string &myname) {
cout << "called foo for: " << myname << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
函数签名与等效的C有何不同:
int foo(const char *myname)
Run Code Online (Sandbox Code Playgroud)
使用string *mynamevs 之间有区别string &myname吗?&用C++和*C表示指针有什么区别?
同理:
const string &GetMethodName() { ... }
Run Code Online (Sandbox Code Playgroud)
这是&做什么的?是否有一些网站解释了如何&在C vs C++中使用不同的方式?