|
|
1
3
不,是的。 对于简单的lambda,这并不重要。这是因为lambda是运算符为()的类的简单缩写。 相关元素是类具有构造函数。想象:
在循环中执行此捕获没有意义,因为您复制了许多不应该更改的字符串。 在这种情况下,通过引用捕获也可能有意义。 我的建议是:和其他班一样。如果cheep需要构造,只需将其放置在您认为符合逻辑的位置。如果建造成本高,想想为什么这么贵,并考虑在可能的时候把它搬出去。 |
|
|
2
3
不,在现实生活编译器中不会有性能差异,因为C++编译器可能会为两个函数产生完全相同的汇编代码。 一般来说,您不应该将为脚本语言设计的指导原则应用于编译语言,因为它们在编译阶段发生的事情(因此对运行时性能没有影响)与在运行时发生的事情有很大的不同。 |
|
|
3
1
它取决于编译器,或者更确切地说,取决于它的优化器。
如果它拿起,它就可以内联
如果没有,那么,
但是,在任何情况下,都不太可能在每个过程中创建“lambda”。Lambda只是带有重载函数调用运算符的本地类对象的语法糖。 |
|
|
4
0
不,我希望您的代码中的两个示例不会在速度上做出任何更改。对于编译器来说,这两个语句非常相似。
|
|
Sweepy Dodo · JSON lite的格式化 1 年前 |
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
Zegarek · Postgresql递归查询未提供预期结果 1 年前 |
|
|
Joe · 为什么这两个查询之间的性能存在如此大的差异? 2 年前 |
|
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 2 年前 |