c++17新函数机制组合(元组)

#include <tuple>
//元组
std::make_tuple()
//可放不同类型且不需要指定类型,生成一个std::tuple<Args...>
std::tuple<Args...>
//需要指定类型如std::tuple<int,double>(1,0.1);
std::tuple_cat()
//输入多个std::tuple拼接成一个std::tuple
std::apply(para_1, std::tuple(para_2, para_3))
//para_1:函数 (普通函数:函数名,静态成员函数XXX::XXX,成员函数&XXX::XXX)
//para_2:成员函数时为类对象。否者和para_3都是参数列表
//std::apply第二个参数是std::tuple
std::bind(para_1,std::placeholders::_1);
//para_1同上是函数名或地址
//返回值是一个仿函数。
//std::placeholders::_1参数顺序的占位符
//参数个数好像是写死的,我是用匿名函数代替。
Args&& ... args//可变参数模板
std::forward<Args...>(args...)//完美转发可变参数
//函数指针通用写法,还可以加入const在末尾表示const函数
template<typename Class, typename...Args>
void (Class::*func)(Args...)
template<typename Class, typename Return, typename...Args>
Return(Class::*func)(Args...)

结合std::function,void*就能做出插件框架

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容