我做一个简单的正常化向量(权重),试图利用STL算法使代码尽可能干净(我意识到这是相当琐碎与循环):如何从C++ 11匿名函数中访问局部变量?
float tot = std::accumulate(weights.begin(), weights.end(), 0.0);
std::transform(weights.begin(), weights.end(), [](float x)->float{return(x/tot);});
目前,tot对于匿名函数是不可见的,所以这不会被编译。使匿名函数可见的局部变量的最佳方式是什么?
对不起,0应该是0.0!编辑 – bd1