相关疑难解决方法(0)

什么是C++ 11中的lambda表达式?

什么是C++ 11中的lambda表达式?我什么时候用?他们解决了哪些问题在引入之前是不可能的?

一些示例和用例将是有用的.

c++ lambda c++-faq c++11

1408
推荐指数
7
解决办法
45万
查看次数

奇怪的赋值——匿名函数调用?

这里的第一行到底是做什么的?我无法理解作业右侧代码的语法 - 具体来说,[]()和 尾随(). 这看起来像是某种无名的内联函数调用?我以前从未见过这个。

HBRUSH hBrBlack = []() { return CreateSolidBrush(COLOR_BLACK); }();
Run Code Online (Sandbox Code Playgroud)

对于上下文,这是使用上面句柄的地方(问题是关于上面的代码):

HBRUSH MyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    if (nCtlColor == CTLCOLOR_LISTBOX)
    {
        int id(pWnd->GetDlgCtrlID());

        if (id == ID_LST_MTRS)
        {
            pDC->SetTextColor(COLOR_WHITE);
            pDC->SetBkColor(COLOR_BLACK);
            return hBrBlack;
        }
    }

    // All the rest
    return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
78
查看次数

标签 统计

c++ ×2

c++-faq ×1

c++11 ×1

lambda ×1