c++ Lambda匿名函数的使用

来源:互联网 发布:改革开放40年成就数据 编辑:程序博客网 时间:2024/06/05 18:29

//声明和实现放在一起

class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = 0)
    {
        //...
    }

    ~MainWindow()
    {
        //...
    }
    template<typename Func>
    void setText(Func func)
    {
        //...
    }};


//声明和实现分放在.h和.cpp文件中

class MainWindow: publicQMainWindow

{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    template<typename Func>
    void setText(Func func);
private slots:
    void slotBtnClicked();
}
template<typename Func>
void MainWindow::setText(Func func)
{
    func();
}
void MainWindow::slotBtnClicked()
{
    setText([&](){ ui->label->setNum(m_iValue++);});
}

//其实代码不难理解,贴出来只是为了提醒自己和新人们注意细节。


0 0
原创粉丝点击