gpt4 book ai didi

C++如何使用在子程序中创建的指针

转载 作者:太空狗 更新时间:2023-10-29 23:44:30 25 4
gpt4 key购买 nike

或夫人,在 C++ 中,我正在考虑使用一个子例程来定义我在主体中首先声明的所有指针。我知道这可以通过使用函数每次返回一个指针来完成。因此,我仍然想在子程序中进行。我用谷歌搜索了很多,还没有找到答案。感谢您的帮助。示例 C++ 代码如下:


#include <iostream> 
using namespace std;
void testsub(int* k3d)
{
k3d= new int [10];
cout<<"test 0 "<<k3d[0]<<endl;
}
int main ()
{
int* i3d=0;
testsub(i3d);
cout<<"test 1 "<<i3d[0]<<endl;
}

希望在子程序中定义虚拟指针k3d后,主体中的i3d可以使用。非常感谢。

最佳答案

指针需要通过引用传递,否则你只是在更改该指针的本地拷贝。

void testsub(int*& k3d)

此外,您还需要在 cout 语句之后调用 delete[],以避免内存泄漏:

delete [] i3d;

关于C++如何使用在子程序中创建的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29154817/

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