C这行代码是什么意思?
发布时间:2020-12-16 09:50:22 所属栏目:百科 来源:网络整理
导读:我在一个名为 Selene(一个C 11 Lua包装器)的项目中看到了这个,我在徘徊它的作用? using Fun = std::functionvoid();using PFun = std::functionvoid(Fun); 它是类(Selector)的私有成员. 周边代码: namespace sel {class State;class Selector {private: fr
我在一个名为
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 << "foon"; } Fun f = foo; // instead of std::function<void()> f = foo; f(); 同样对于PFun. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |