C ++引用结构数组

爱尼克

我是使用C ++进行复杂编程的新手。我一直在筛选通过我的部门传下来的一些剩余的,未注释的学术代码,而我偶然发现了一些我不知道如何使用Google的东西。我不了解引用结构数组的语法。

这是我正在努力的修整版:

typedef struct
{
    double x0,y0;
    double r;
} circle;

double foo()
{
    int N = 3;
    double mtt;
    circle circles[N];

    for (int i = 0; i < N; i++)
    {
        mtt += mtt_call_func((circles+i), N);
    }

    return mtt;
}

(circles+i)在这种情况下是什么意思?

编辑:该功能应具有(circles + i),而不是(circle + i)

毫米

circles+i等同于&circles[i]这就是指针算术在C ++中的工作方式。

为什么会有指针?好吧,当您提供数组的名称时,在除&circles或之外的其他上下文中sizeof circles,将创建一个临时指针,该指针指向该数组的第一个成员。这就是您的代码所使用的。数组是C ++中的二等公民。它们的行为不像物体。

(我假设您circle+icircles+i其他人建议的错字

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章