在 C++ 中如何处理指针作为函数参数?
时间: 2024-09-27 16:02:58 浏览: 43
c++之指针作为函数参数传递的问题.pdf
在 C++ 中,处理指针作为函数参数是为了让函数能够直接修改传入指针指向的数据或者返回新值到该指针。以下是常见的几种情况:
1. **传递指针作为输入参数**:
当你需要改变函数内部的对象时,可以将指针作为参数:
```cpp
void incrementValue(int* ptr) {
(*ptr)++;
}
int num = 10;
incrementValue(&num);
cout << num; // 输出 11,因为改变了 num 的值
```
2. **返回指针**:
函数可以返回指向新创建的资源(如动态分配的内存)的指针:
```cpp
int* createArray(size_t size) {
int* arr = new int[size];
// 对数组进行初始化...
return arr;
}
int* array = createArray(5);
delete[] array; // 调用后释放内存
```
3. **引用**:
你可以选择使用引用而非指针来避免无意间改变原始数据的副本:
```cpp
void swap(int& a, int& b) {
int temp = a;
a = b;
b = temp;
}
int x = 10, y = 20;
swap(x, y);
cout << x << " " << y; // 输出 20 10,x 和 y 的值交换了
```
阅读全文