我想知道是否可以捕获函数结果:
tr
有没有办法做到这一点?我知道,在更新的C ++标准中,您可以在捕获列表中创建新变量,所以类似这样?
system2("tr", c("¬", ","), stdin="quux.csv", stdout="quux2.csv")
read.csv("quux2.csv")
# a b c
# 1 1 2 3
答案 0 :(得分:5)
语法略有不同。捕获组中实体的类型是从初始化程序推导出的,您不能明确指定类型:
auto lambda = [copy = a.func()] () { std::cout << copy; };
// ^ no int
如果仅用,
分开它们,则也可以在捕获组中创建多个不同类型的实体:
auto lambda = [x = a.func(), y = a.func2()] () { std::cout << x << y; };
这里是demo。