2015-12-01 22 views
2

我有大量的浮點數。 我想打電話給QtConcurrent::map()並更改值。Qt併發陣列上的當前地圖()

我可以做到這一點,而無需複製數組? 看起來map()需要一個QVector作爲參數,我找不到一個數組的初始化QVector沒有複製的數組。

回答

0

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