我可以在不提供参数的情况下生成函数吗?

乔纳森·米

所以具有std::function扣除指南等等给出:

int foo();

我可以:

std::function bar(foo);

但是我被困在编译器上。在那里,我必须做更多的事情:function<int()> bar(foo)我想知道是否有一种方法可以创建一个std::function不通过函数指针显式提供函数签名的方法?因此,例如make_pair将从参数的推论中推断出其类型。我想知道是否可以function使用s编写类似的内容,例如:

auto bar = make_function(foo);

这可行吗?

注意:我的真实情况是这foo是一个模板函数,带有很多我不想推断的参数。因此,我的动机是在function 无需提供参数类型情况下生成

Live Example

谢尔盖

最后,您的问题最重要的部分是精美的文字。如果您foo是模板,C ++ 17演绎指南将无法通过简单的语法为您提供帮助,例如

std::function f(foo);

您仍然需要为提供模板参数foo假设您可以通过指定foo的参数类型(如您所愿)来编写make_func,这是一个简单的练习:

 template<class R, class... ARGS>
 auto make_func(R (*ptr)(ARGS...)) {
      return std::function<R (*)(ARGS...)>(ptr);
 }

并且比您使用它:

auto bar = make_func(&foo<Z, Y, Z>);

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我可以在没有Ruby的情况下生成Rails SECRET_KEY_BASE吗?

可以在不提供默认值的情况下使用关键字参数吗?

我可以在不提供示例的情况下使用CsvProvider编写标头吗?

我可以在不提供位置的情况下在 Here JS API 中搜索位置吗?

在我的情况下生成随机字符

Hibernate可以在没有Spring的情况下生成表吗?

可以在没有特别启用的情况下生成范围检查错误吗?

是否可以在不创建单个函数的情况下生成崩溃的变量?

我可以在没有弹性搜索的情况下生存吗?

我可以在systemverilog中将结构用作参数的情况下合成参数化函数吗?

在POD与非POD情况下生成的构造函数

C ++中有什么方法可以在不调用函数模板或不提供其模板参数的情况下引用该函数模板?

如何在我的情况下生成随机数

在不提供输入的情况下调用迭代器函数会产生奇怪的行为吗?

我可以在不提交的情况下维持Docker容器的状态吗

在不提供输出参数的情况下调用 proc

我的驱动器是否已加密?我可以在不提供密码的情况下读取加密分区

为什么我不能在不提供值的输出参数的情况下从 ConcurrentDictionary 中删除键?

我可以在没有数据集的情况下生成箱线图,而在matplotlib中仅具有相关值(中位数,四分位数等)吗?

我可以在没有反射的情况下将setter(而不是值)作为参数传递给函数吗?

我可以在不使用 va_arg 函数的情况下遍历可变参数列表吗?

有什么方法可以使Room在没有AUTOINCREMENT的情况下生成自动生成的主键?

JMS:我们可以在不提交或不回滚的情况下从OnMessage()中的队列中获取多个消息吗?

是否可以在不列出所有目标的情况下生成Makefile帮助?

Android活动可以在没有布局文件的情况下生存吗

如何使用函数 combn() 在不重复 R 中的组合的情况下生成并概括代码?

强制从函数中推导出模板以在适用的情况下生成常量引用

您可以在不传递参数的情况下从tk.OptionMenu的命令参数调用函数吗

这个网站如何在不上传文件的情况下生成我的文件的哈希值?