zoukankan      html  css  js  c++  java
  • C++回调函数示例

    模板 + Boost::Function。示例代码:

    #include <string>
    #include 
    <iostream>
    #include 
    <boost/function.hpp>

    using namespace std;
    using namespace boost;

    class Test
    {
    public:
        Test(){};
        
    virtual ~Test(){};
        
        
    void Handle(string& s, unsigned int lines)
        {
            
    for(int i=0; i< lines; i++)
            {
                cout 
    << s << endl;
            }
        };
    };

    template 
    <class T>
    static void CallBack(T& t, boost::function<void (T*string&, unsigned int)> f)
    {
        
    string s("test");
        f(
    &t, s, 3);
    };

    int main()
    {
        Test test;
        CallBack
    <Test>(test, &Test::Handle);
        
    return 0;
    }

    版权所有,欢迎转载
  • 相关阅读:
    Go map 切片
    Go map 增删改查和遍历
    Go map 基本使用
    Go 二维数组
    Go 切片
    Go 数组
    Go 错误处理 defer recover panic
    Go time模块
    5分钟入门MP4文件格式
    写盘工具
  • 原文地址:https://www.cnblogs.com/xiaotie/p/368221.html
Copyright © 2011-2022 走看看