0
我有一個矢量,我想用標量值乘以它的每個元素。我寫了下面的代碼,這使用STL算法的矢量操作
int func(const int x)
{
return 10 * x; // say the scalar value is 10
}
void foo()
{
// .. compute vector vert
std::transform(vert.begin(), vert.end(), vert.begin(), ::func);
}
的代碼做這項工作,但我想知道如果有一個更簡潔的方式可能對於這一點,一個不需要我來定義FUNC功能seperately
[Lambda是你的朋友。](http://coliru.stacked-crooked.com/a/8b2b8cb813ce2114) – 0x499602D2 2014-11-04 23:38:42
它是否必須使用算法? 'for(int&x:vert)x * = 10;' – 2014-11-04 23:41:48
@MikeSeymour:或甚至用C++ 1z:'for(x:vert)x * = 10;' – Deduplicator 2014-11-04 23:42:49