1. *
符号 - 指针
在函数形参中,*
用于声明指针。指针是存储变量地址的变量。通过在函数参数中使用指针,可以修改传递给函数的实际参数的值。
#include <iostream>
void modifyValue(int* ptr) {
*ptr = 10; // 修改指针所指向地址的值
}
int main() {
int value = 5;
modifyValue(&value); // 传递变量的地址
std::cout << "Modified value: " << value << std::endl;
return 0;
}
在这个例子中,modifyValue
函数接收一个指针,通过指针修改了传递给函数的实际参数的值。
2. &符号 - 引用
在函数形参中,&
用于声明引用。引用提供了一个别名,允许直接操作传递给函数的实际参数。
#include <iostream>
void modifyValueByReference(int& ref) {
ref = 10; // 直接修改引用所引用的变量的值
}
int main() {
int value = 5;
modifyValueByReference(value); // 传递变量的引用
std::cout << "Modified value: " << value << std::endl;
return 0;
}
在这个例子中,modifyValueByReference
函数接收一个引用,通过引用直接修改了传递给函数的实际参数的值。