c++传递一个数组的地址给函数,在函数内不复制数组,可直接修改该数组使得函数外可以使用函数内的改变
时间: 2024-10-19 22:14:16 浏览: 17
C++ 让函数返回数组的方法
5星 · 资源好评率100%
在C++中,如果你想在函数内部修改外部传入的数组,而不创建新的副本,你可以通过将数组的指针(而不是数组本身)作为参数传递给函数。这种做法利用了C++中的“非持久”(non-const)指针。下面是一个简单的例子:
```cpp
void modifyArray(int arr[], int size) {
for (int i = 0; i < size; ++i) {
arr[i] *= 2; // 直接修改原始数组
}
}
int main() {
int myArray[] = {1, 2, 3, 4, 5};
int arraySize = sizeof(myArray) / sizeof(myArray[0]);
modifyArray(myArray, arraySize);
// 主函数可以看到修改后的结果
for (int i : myArray) {
std::cout << i << " ";
}
return 0;
}
```
在这个例子中,`modifyArray()`函数接受一个整数数组和它的大小。由于我们传递的是数组的指针`arr`,所以函数可以直接操作数组内容。当函数结束时,主函数依然能看到数组的变化。
阅读全文