美文网首页
c++17新函数机制组合

c++17新函数机制组合

作者: c之气三段 | 来源:发表于2022-11-29 18:40 被阅读0次
#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*就能做出插件框架

相关文章

网友评论

      本文标题:c++17新函数机制组合

      本文链接:https://www.haomeiwen.com/subject/bfczxdtx.html