编译器内联lambda函数是否可以提高效率,因为它可以使用简单的标准函数?
例如
std::vector<double> vd;
std::for_each(vd.begin(), vd.end(), [](const double d) {return d*d;});
Run Code Online (Sandbox Code Playgroud)
或者由于缺乏优化而导致效率下降?
第二个问题:我可以在哪里检查我使用的编译器是否优化了内联函数调用,这些函数被发送到算法?我的意思是,如果函数 - 而不是函数对象 - 被发送到算法,最后一个获取指向函数的指针,并且一些编译器优化指向内联函数的指针而其他编译器没有.