定义:

#include <functional>

std::function<void(const QString&)> myPrintFunction;

 

函数指针

void directPrint(const QString &msg)
{
    qDebug()<<"direct print:"<<msg;
}

myPrintFunction = directPrint;

 

lambda

myPrintFunction = [](const QString &s)
{
    qDebug()<<"lambda print:"<<s;
};

std::bind

Screen* screen = new Screen();
PrintFunction= std::bind(&Screen::print, screen, std::placeholders::_1);

posted on 2014-06-09 11:01  淡菊  阅读(7373)  评论(3编辑  收藏  举报