使用C++实现:分别设计使用引用、值形参和指针形参作为形参的函数,比较不同形参的调用方法。
时间: 2024-10-09 20:01:36 浏览: 44
在C++中,我们可以使用三种方式传递参数:按值、按引用和按指针。以下是每个选项的函数设计和调用方法:
1. **按值传递**(Pass by Value):
```cpp
void funcByValue(int x) {
x = 10; // 对于x的改变不会影响到函数外部的变量
}
int main() {
int num = 5;
funcByValue(num); // 调用函数,num仍然是5
std::cout << "num after call: " << num << std::endl; // 输出: num after call: 5
}
```
2. **按引用传递**(Pass by Reference):
```cpp
void funcByReference(int& ref) {
ref = 10; // 这会直接修改函数外部的变量
}
int main() {
int num = 5;
funcByReference(num); // 调用函数,num现在变为10
std::cout << "num after call: " << num << std::endl; // 输出: num after call: 10
}
```
3. **按指针传递**(Pass by Pointer):
```cpp
void funcByPointer(int* ptr) {
*ptr = 10; // 修改指针所指向的值
}
int main() {
int num = 5;
int* p = # // 创建指针并指向num
funcByPointer(p); // 调用函数,num变为10
std::cout << "num after call: " << num << std::endl; // 输出: num after call: 10
}
```
总的来说,按值传递复制的是副本,对副本的操作不影响原值;按引用传递则是直接操作原始值;而按指针传递则可以动态更改指向的值。
阅读全文