c++ - 如何一次给一个函数一个参数?

标签 c++

比如我有一个函数:

void get(int a, char b, int c, float d, int e, char f)

我只想给函数 d、e 和 f。我如何将它们作为参数传递。

只有他们三个

最佳答案

如下所示写一个重载:

auto get(float d, int e, char f) -> std::function<void(int, char, int)>
{
   return [=](int a, char b, int c) { get(a,b,c, d,e,f); };
}

也就是说,此重载接受 def 并返回一个可调用实体,该实体接受其余 参数 — 这个可调用实体最终会调用您的 get() 函数。

您可以将其用作:

auto partial_get = get(d,e,f); //pass d, e, f
//code
partial_get(a,b,c); //invoke partial_get() passing rest of the arguments!

这里 partial_get 是一个可调用的实体,您可以随时通过其余参数调用它 — partial_get 最终调用您的 get() 函数传递所有必需的参数。

关于c++ - 如何一次给一个函数一个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25497414/

相关文章:

c++ - 友元函数不能访问私有(private)成员变量

C++ 创建命名管道 ERROR_PATH_NOT_FOUND (3)

c++ - C++中调用基类模板构造函数

c++ - (POD) 结构是否需要 move 构造函数?

c++ - 捕获重复组的正则表达式

c++ - 我如何知道一个 COM 对象与不同的 COM UUIDS 兼容?

c++ - 在 C++ 类中使用线程的段错误

c++ - 我可以在我的 VCL 客户端-服务器应用程序中使用端口 80 吗?

c++ - 具有 STL C++ 错误的强连接组件?

c++ - 如何使用 libtensorflow-core.a 构建静态库以及如何使用它?