1

「戻り値の最適化」の概念は C++ コンパイラのラムダ式に適用されますか? コンパイラと最適化パラメータに依存することは知っていますが、理論的には可能ですか?

ところで、VS.NET 2013以降でこの問題について知っている人はいますか?

4

2 に答える 2

0

しかし、それは理論的に可能ですか?

そうしない理由がわかりません。ラムダは、オンザフライでコンパイル時に生成され、()演算子がオーバーロードされた構造体です。

これは次のことを意味します:

auto f = []{printf("hi");};

おそらく翻訳されるでしょう

struct lambda<someID>{  void operator(){printf("hi");}  };
auto f = lambda<someID>();

したがって、コンパイラが最適化できると判断した場合、RVO がここで機能しない理由はありません。

于 2015-10-19T11:02:55.357 に答える