在窗口过程之外,我正在switch使用自执行 lambdas 编写语句,如下所示:
LRESULT CALLBACK proc(HWND hWnd,UINT msg,WPARAM wp,LPARAM lp)
{
开关(味精)
{
案例 WM_CREATE:返回 [&](WPARAM wp, LPARAM lp) {
do_something(wp, lp);
返回0;
}(wp, lp);
案例 WM_SIZE:返回 [&](HWND hWnd) {
do_another_thing(hWnd);
返回0;
}(hWnd);
}
返回 DefWindowProc(hWnd, msg, wp, lp);
}
我相信编译器可以自由地按照他们想要的方式对其进行优化,但一般来说,与不使用这些 lambda 相比,编译器会为此添加很多样板代码吗?
编译器可以检测到多余的 lambda 表达式并删除它们吗?