我从未遇到像Python(隐式)或PHP(显式&)那样的引用问题.在PHP中,您可以编写$p = &$myvar;并$p作为参考指向$myVar.
所以我知道在C++中你可以这样做:
void setToSomething( int& var )
{
var = 123;
}
int myInt;
setToSomething( myInt );
Run Code Online (Sandbox Code Playgroud)
不是指C++中"x的内存地址"?如果var只是地址myInt而不是指针,我该怎么办?
void setToSomething( int* var )
{
*var = 123;
}
int myInt;
int* myIntPtr = &myInt;
setToSomething( myIntPtr );
Run Code Online (Sandbox Code Playgroud)
我完全不理解*和&之间在C++中的区别.他们告诉你并且习惯于获取变量的地址,但是为什么它会帮助你处理函数等.就像在第一个例子中一样?