假设我想要以有序的方式并行填充std::vector
对象,如下所示:
std::vector<T> v;
#pragma omp parallel for ordered
for (int i=0;i<n;i++){
T result = //some expensive fun here...
#pragma omp ordered
v.push_back(result);
}
如您所见,指令v.push_back(result)
并不依赖i
。
我的问题是:v
仍然会按照i
的有序方式填充?