gpt4 book ai didi

c++ - 使用引用/指针调整数组大小

转载 作者:行者123 更新时间:2023-11-30 05:40:55 24 4
gpt4 key购买 nike

我编写了一个小代码来调整动态数组的大小,将指针 X 作为引用传递。

void resize(int*& X , int & dimX){
int * new_X = new int [dimX+20];
for(int i=0;i<dimX;i++)
new_X[i] = X[i];
delete [] X;
X = new_X;
dimX += 20;
}

我的疑问是:如果我决定将数组 X 作为唯一指针传递,代码会有什么不同?例如:

void resize(int* X , int & dimX)

这种操作甚至可能吗? (调整大小)。非常感谢,很抱歉提出这个愚蠢的问题,我是初学者。

最佳答案

如果您将 X 作为 int* 传递,那么您传递的是指针的拷贝。这意味着如果您在 X = new_X; 行中更改 X,您将只会更新拷贝,而不会更新原始文件。

您可以像当前一样继续使用对指针的引用,或者将 X 作为 int* 但返回 new_X并让调用者使用返回值。

关于c++ - 使用引用/指针调整数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31321711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com