测试一:
#include <iostream>
void function(int ¶meter);
int main()
{
int variableOne = 0;
int variableTwo = 6;
function(variableOne);
std::cout << variableOne << std::endl;
function(variableTwo);
std::cout << variableTwo << std::endl;
return 0;
}
void function(int ¶meter) // ???
{
parameter += 5;
}
测试二:
#include <iostream>
int main()
{
int variableOne = 2;
int variableThree = 7;
int &variableTwo = variableOne;
std::cout << variableOne << std::endl;
&variableTwo = variableThree; // ERROR (wrong side of operand etc...)
std::cout << variableThree << std::endl;
return 0;
}
1) 那么为什么 ¶meter 可以多次赋值(参数的),(测试一)但 &variableTwo(测试二)不能?
2)这是因为,(测试一)参数的内存地址分配给variableOne和variableTwo?或者,variableOne 的值是否被分配给参数,然后是 variableTwo ?
3)也许,每次调用函数时都会创建一个新的参数实例吗?