C++ 引用类型上的OpenMP原子?
OpenMP标准(引用类型不是标量类型。但是,这一事实与您的问题无关。重要的事实是,对标量类型引用求值的表达式是标量类型的左值。具体而言,变量C++ 引用类型上的OpenMP原子?,c++,openmp,atomic,reference-type,C++,Openmp,Atomic,Reference Type,OpenMP标准(引用类型不是标量类型。但是,这一事实与您的问题无关。重要的事实是,对标量类型引用求值的表达式是标量类型的左值。具体而言,变量reference具有typeint&,但表达式reference具有typet和值类别左值。因此,是的,您的程序符合要求 int main() { int myCounter = 0; int& reference = myCounter; #pragma omp parallel for for (int i = 0; i &
reference
具有typeint&
,但表达式reference
具有typet
和值类别左值。因此,是的,您的程序符合要求
int main()
{
int myCounter = 0;
int& reference = myCounter;
#pragma omp parallel for
for (int i = 0; i < 100; ++i)
{
#pragma omp atomic
reference++; // Increment through reference.
}
return 0;
}