【发布时间】:2021-10-01 16:26:36
【问题描述】:
我有一个std::vector<float> vertices,我想对其进行转换并将结果附加到向量上;到目前为止,我已经这样做了:
std::transform(vertices.begin(), vertices.end(), std::back_inserter(vertices), [index = 0,&sideDim] (float ver) mutable{
return ver + 1;
});
但对于每个新插入,我似乎都得到了 -1.998397116e+18 的浮点值。这是为什么呢?
【问题讨论】:
-
当你向容器追加元素时,
end迭代器失效。 -
为什么要捕获
index和sideDim?以及为什么要制作 lambdamutable? -
不清楚你想做什么。您可以发布一个带有一些数字的示例吗?
-
请发minimal reproducible example,如果你的向量容量在变换过程中增加,你传入的迭代器就会失效