0
下面是一個程序,其中main
定義了兩個lambda。 a
電話b
:嵌套lambda的效率
#include <iostream>
int main()
{
auto b = []() { std::cout << "b" << std::endl; };
auto a = [&]() { b(); };
a();
}
現在,由於b
僅由a
,也可以內部a
定義:
#include <iostream>
int main()
{
auto a = []()
{
auto b = []() { std::cout << "b" << std::endl; };
b();
};
a();
}
我的問題是這樣的:讓我們假設a
在循環中反覆調用因此存在效率問題。預計大多數編譯器是否可以使b-inside-a版本與b-a-a版本一樣高效?
_「有效率的擔憂」 _如?根據什麼?爲什麼在你分析並發現性能問題之前,你擔心「效率」? –
爲什麼你認爲b-inside-a版本比b-outside-a版本更有效率? –
爲什麼問一些你可以[自己嘗試](https://goo.gl/wLmEPt)? –