ウィンドウ プロシージャの外で、switch
次のように、自己実行ラムダを使用してステートメントを作成しています。
LRESULT CALLBACK proc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { スイッチ (メッセージ) { case WM_CREATE: return [&](WPARAM wp, LPARAM lp) { do_something(wp, lp); 0 を返します。 }(wp、lp); case WM_SIZE: return [&](HWND hWnd) { do_another_thing(hWnd); 0 を返します。 }(hWnd); } return DefWindowProc(hWnd, msg, wp, lp); }
コンパイラーは自由に最適化できると思いますが、一般的に言えば、これらのラムダを使用しない場合と比較して、コンパイラーはこれに多くの定型コードを追加しますか?
コンパイラは冗長なラムダを検出して削除できますか?