2013-04-13 185 views

回答

11

您对“lambda”使用相同的规则,您会以任何对象作为参数。

如果函数的目的是修改调用者的对象,函数应该使用非const引用。如果函数仅使用该对象而不更改它,则该函数应该使用const&。如果要将对象复制/移动到其内部存储中,它应该按值传递。

+3

我记得读过这个论坛的一些评论,它是按地理价值传递函子,因此这个问题。我想如果函数被传递出范围的危险,那么一个有价值的习语会更好。 – Jeet

+1

如果我通过一个非const引用lambda,我可以修改它。但是“修改lambda”是什么意思? – Ignorant