std::function赋值的几种方法

定义:

#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);

你可能感兴趣的:(function)