gpt4 book ai didi

c++ - 使用类的成员

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

我需要使用 GNU-GSL 插值函数,它看起来像这样:

double gsl_interp_eval (const gsl_interp * interp, const double xa[], const double ya[], double x, gsl_interp_accel * acc)

但是我需要的 xa[]ya[] 数组是这些对象描述的元素 A.x 和 A.y.value:

class c_ys {
double value;
};

struct s_points {
double x;
c_ys y;
};

class c_curves {
vector<s_points> A;
};

如何将这些元素用作函数 gsl_interp_eval 中的第二个和第三个参数?

最佳答案

如果不制作拷贝,您将无法执行此操作,因为 double 成员之间的内存偏移量不正确。

这里是你如何做到的:

double *x = new double[A.size()];
double *y = new double[A.size()];
for (int i = 0 ; i != A.size() ; i++) {
x[i] = A[i].x;
y[i] = A[i].y.value;
}
gsl_interp_eval(...); // call your function
delete[] x;
delete[] y;

关于c++ - 使用类的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20017965/

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