C这行代码是什么意思?

C这行代码是什么意思?,第1张

概述我在一个名为 Selene(一个C 11 Lua包装器)的项目中看到了这个,我在徘徊它的作用? using Fun = std::function<void()>;using PFun = std::function<void(Fun)>; 它是类(Selector)的私有成员. 周边代码: namespace sel {class State;class Selector {privat 我在一个名为 Selene(一个C 11 Lua包装器)的项目中看到了这个,我在徘徊它的作用?

using Fun = std::function<voID()>;using PFun = std::function<voID(Fun)>;

它是类(Selector)的私有成员.

周边代码:

namespace sel {class State;class Selector {private:    frIEnd class State;    State &_state;    using Fun = std::function<voID()>;    using PFun = std::function<voID(Fun)>;    // Traverses the structure up to this element    Fun _traverse;    // Pushes this element to the stack    Fun _get;    // Sets this element from a function that pushes a value to the    // stack.    PFun _put;    // Functor is stored when the () operator is invoked. The argument    // is used to indicate how many return values are expected    using Functor = std::function<voID(int)>;    mutable std::unique_ptr<Functor> _functor;    Selector(State &s,Fun traverse,Fun get,PFun put)        : _state(s),_traverse(traverse),_get(get),_put(put),_functor{nullptr} {}    Selector(State &s,const char *name);
解决方法 它是一个C 11语法,涵盖了typedef功能( and more).
在这种情况下,它创建一个名为Fun的别名,它与std :: function< voID()>的类型相同:

using Fun = std::function<voID()>; // same as typedef std::function<voID()> Fun

这意味着你可以这样做:

voID foo() {  std::cout << "foo\n";}Fun f = foo; // instead of std::function<voID()> f = foo;f();

同样对于PFun.

总结

以上是内存溢出为你收集整理的C这行代码是什么意思?全部内容,希望文章能够帮你解决C这行代码是什么意思?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1215772.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存