C++ 基本双指针传递

标签 c++ function pointers

我确定之前有人问过这个问题,但是搜索“c++”“指针”“函数”“数组”让我无处可去。

我在 main 中声明了一些内容,如下所示:

struct point{
    float x;
    float y;
    int m;
    float points[10];
    point *next;
};
struct neighbor{
    float dist;
    point *pt;
};
neighbor **candidate = NULL;

我想将“候选人”传递给一个我可以做的函数:

candidate = new neighbor*[10];
for(int i = 0;i<10;i++)
     candidate[i] = new neighbor;

用各种数据填充它,然后在不使用 return 语句的情况下退出函数(这很重要,因为我使用的是 boost 线程,它不能使用除 void 以外的函数)并且让 main 函数能够看到改变了功能。

抱歉,这太基础了,但我认为正确的东西不起作用,而且我似乎找不到我要找的东西。 提前致谢

最佳答案

接受引用:

void fun(neighbor **& candidate);

或者一个指针:

void fun(neighbor *** candidate);

在 C++ 中需要双指针间接寻址的理由几乎为零。您几乎可以肯定没有充分利用语言。

关于C++ 基本双指针传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15316935/

相关文章:

c++ - 如何创建从抽象c++类派生的类的python对象实例?

c# - AnyCPU C# DLL in 64bit process is unable to refer 64 bit C++ DLL(Giving error : Could not load file or assembly)

c++ - 使用 C++ 从 .dll 调用带有默认参数的函数

python - 在Python类的另一个函数中获取函数变量

Swift:如何通过引用/指针来消除未知对象?

c - 在函数内部创建的动态内存

c++ - 可以将 .Net String 交给 fn(const char16_t* str) w/o 复制吗?

c# - 性能 - 连接 C-sharp 和 C++ 对性能有何影响?

Javascript 日期函数不起作用

c - C中的双向链表