gpt4 book ai didi

c++ - "trick"一个函数在 C++ 中需要多个参数时是否可以接受一个参数?

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

我正在查看“dlib”库,更具体地说是用于“优化”的“find_min”函数( http://dlib.net/optimization_ex.cpp.html)。 “find_min”函数可让您将自己的函数作为参数传递,但您自己的函数只需接受一个参数。然而,我需要传递的函数有太多参数(实际上有 7 个),但我需要它们。

所以我的问题是:

有没有一种方法可以“压缩”我的参数,使它看起来只有一个,或者可以改变一个函数,使它只接受一个参数,但仍然以其他智能方式获得所需的所有参数?

最佳答案

假设你有这个功能:

int seven_args(int a, char b, double c, int d, int e, int f, int g) {
...
}

将所有参数填充到一个结构中,并制作一个采用单个结构参数的包装函数:

struct seven_args_arguments {
int a;
char b;
double c;
int d;
int e;
int f;
int g;
}

int wrapper(seven_args_arguments args) {
return seven_args(args.a, args.b, args.c, args.d, args.e, args.f, args.g);
}

关于c++ - "trick"一个函数在 C++ 中需要多个参数时是否可以接受一个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41081246/

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