首页 > 编程语言 >C++ visit

C++ visit

时间:2022-10-25 12:24:38浏览次数:39  
标签:std int void visit C++ template

C++ visit

#include <iostream>

struct Output
{
    int m_i{8};
    template<typename F> void visit(F& f)
    {
      f(this->m_i);
    }
    template<typename F> void visit(F& f) const
    {
      f(this->m_i);
    }
};

typedef int (* Func) (int a);

int fun(int a)
{
   std::cout<< a << std::endl;
   return a;
}

int main()
{
    Output ot;
    Func f = fun;
    ot.visit<Func>(f);

    return 0;
}

  

标签:std,int,void,visit,C++,template
From: https://www.cnblogs.com/liangzige/p/16824429.html

相关文章

  • 求和式 (C++ 坑爹的<<,>>,%lld)
    求和式(x3)题目描述作为本场考试的第一题,你的任务十分简单:给定长度为n的序列A[i],求所有A[i]xorA[j](i<j)的值之和 输入第一行一个整数N接下来N行,第i行为A[i]输出所需的值......
  • c++ accumulate
    用于累加数组元素普通用法:accumulate(首指针,末指针,累加初始值)除了对数字求和还可以连接字符串#include<bits/stdc++.h>usingnamespacestd;vector<string>v;vector<i......
  • C++/C 规范:命名规范和注释
    变量变量命名里面只能是名词,不能有动词宏:全部大写,如:FRAME_SIZE变量:驼峰命名规则,首个单词小写,如:myFrameSize全局变量:在变量前后添加字母G,如:myFrameSizeG函数尽量......
  • C++ 不知树系列之初识树(树的邻接矩阵、双亲孩子表示法……)
    1.前言树是一种很重要的数据结构,最初对数据结构的定义就是指对树和图的研究,后来才广义化了数据结构这个概念。从而可看出树和图在数结构这一研究领域的重要性。树和图重......
  • C++ Multi Thread
    自定义LockclassReadLock{public:ReadLock(ZoneFile*zfile):zfile_(zfile){zfile_->writer_mtx_.lock();zfile_->readers_++;zfil......
  • C++ Class
    类class与struct为什么c++里面经常定义struct?利用struct默认访问修饰符为public的特性,属性static成员#include<iostream>usingstd::cout;usingstd::endl;clas......
  • C++_函数指针/回调函数/std::function/std::bind
    类成员函数指针指向类中的非静态成员函数#include<iostream>#include<functional>#include<algorithm>#include<vector>usingnamespacestd;//函数指针指向一......
  • C++ 逻辑运算符
    //逻辑运算符inta=5;intb=20;if(a&&b){cout<<"Line1-条件为真"<<endl;}if(a||b......
  • C++ 关系运算符
    //关系运算符inta=21;intb=10;intc;if(a==b){cout<<"Line1-a等于b"<<endl;......
  • C++ 算术运算符号
    //算术运算符号inta=10;intb=2;intc=3;//+加法cout<<"a+b="<<a+b<<endl;//-减法cout<<"a-b=......