内部OpenMP线程内存分配的有效性

时间:2018-02-16 11:23:08

标签: c++ openmp

我有一个程序here在使用线程清理程序运行时失败,我不明白为什么。线程清理程序是否不支持这种情况(在这种情况下错误是误报?)?或者这是程序中的错误?如果它是一个bug,为什么它是一个bug?代码清单也如下所示。

#include <vector>
class A{
    std::vector<int> a_;
    public:
    A()
    {
        a_ = std::vector<int>{1,2,3,4};
    }
    auto const& a() const  { return a_;}
};

int main()
{
    std::vector<A> list(100);
    std::vector<std::vector<int>> g(100);
    #pragma omp parallel for
    for(std::size_t i=0; i < 100; ++i){
        g[i] = list[i].a();
    }
}

由于this bugfix,这不是重复。

0 个答案:

没有答案