【发布时间】:2014-01-04 12:00:53
【问题描述】:
我无法理解的一件事是何时在函数中使用某些类型的指针作为参数。
考虑一个函数,它接收一个整数作为其参数,并将该值加倍。一个函数可能是:
void doubleTheValue(int *myNum)
{
*myNum *= 2;
}
int main()
{
int number = 2;
doubleTheValue(&number);
// prints 4
cout << number << endl;
return 0;
}
这对我来说很有意义。该函数接收一个整数指针,并且您传入对变量“number”的引用,它会更改值。现在,让我感到困惑的是,如果你这样做了:
void doubleTheValue(int &myNum)
{
myNum *= 2;
}
int main()
{
int number = 2;
doubleTheValue(number);
// this also prints 4
cout << number << endl;
return 0;
}
注意函数的参数是不同的。这在内部到底是做什么的,为什么要在上述方法上使用它?
【问题讨论】:
-
这两者都没有真正对应用程序有任何用处,也没有解释为什么你会使用一个而不是另一个,这是我很好奇的
-
this one 可能更有用。