我有在載體中的數值數據<矢量<雙>>和需要標量值如下添加到它們:的std ::變換矢量的矢量
vector <vector<double> > data (M, vector<double>(N));
vector <double>scalars(N);
data[0][0] += scalars[0];
data[0][1] += scalars[1];
...
data[0][N-1] += scalars[N-1];
data[1][0] += scalars[0];
data[1][1] += scalars[1];
...
data[1][N-1] += scalars[N-1];
...
data[M-1][N-1] += scalars[N-1];
當然這可能有兩個for循環。我想知道是否可以像變換,綁定和加號一樣完成?我儘可能地使用函子(儘管仍舊習慣使用舊的C風格代碼)。
內部循環將需要數據來做到這一點的矢量0:
transform (data[0].begin(), data[0].end(),
scalars[0].begin(),
data[0].begin(),
plus<double>())
是否有可能取代與另一計數器(涉及到這一行的數據[0]變換數據[0] ..data [N-1])? 這可能是一個標準問題,但我找不到一個好的參考。
使用'for_each'和lambda? – us2012 2013-02-22 00:20:29