如果你有一个类和一个并行方法,如
class A
{
void operator()(blocked_range<size_t>& r)
const
{
double value = 0;
for (size_t i = r.begin(); i != r.end(); ++i)
{
value = value + i;
}
std::cout << value;
}
}
然后运行,然后值也将与循环一起打印1000次。如何只能并行运行循环并将结果用于其他函数或其他并行循环?因为我需要在其他功能中使用值,但不希望看到1000打印。
由于
答案 0 :(得分:0)
如何在某处创建变量并通过引用将其传递给您的函数,如下所示:
class A {
void operator()( blocked_range<size_t>& r, double& answer ) {
double value = 0;
for (size_t i = r.begin(); i != r.end(); ++i) {
value = value + i;
}
answer = value;
}
}