【发布时间】:2019-02-17 22:05:24
【问题描述】:
我有一个参数(在本例中为 std::vector),我需要将其传递给异步方法(最好通过移动)和回调 lambda。 下面的方法是否保证首先初始化 lambda(暗示向量被复制),以便我可以将向量移动到异步方法?
Method(std::vector<std::string> vec)
{
AsyncMethod(std::move(vec), [vec]()
{
// act on vec
});
}
【问题讨论】:
-
因为你没有描述你想要达到的目标;请记住,AsyncMethod 的
vec和 lambda 的vec是两个不同的向量,因此更改一个中的值不会影响另一个...
标签: c++ lambda move move-semantics