<分区>
我无法理解的一件事是何时使用某些类型的指针作为函数中的参数。
考虑一个函数,该函数接收一个整数作为其参数,并将该值加倍。一个函数可以是:
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;
}
请注意函数的参数不同。这到底在内部做什么,为什么要在上述方法上使用它?