我有一大堆浮动。
我想在其上调用QtConcurrent::map()
并更改值。
我可以不制作数组副本吗?
似乎map()
需要QVector
作为参数,我无法找到从数组中初始化QVector
而无需复制的方法。
答案 0 :(得分:1)
QtConcurrent也有STL样式迭代器的版本。为此,原始指针具有STL样式迭代器的属性。
float x[] = {1.3f, 2.5f, 4.6f};
QFuture<void> f = QtConcurrent::map(x, x+3, [](float & a) { a = 2*a; });
f.waitForFinished();
qDebug() << x[0] << x[1] << x[2];
打印:
2.6 5 9.2