के लिए कनवर्ट करने के लिए कैसे करें मैं अपने लूप को STL std :: for_each loop में कनवर्ट करना चाहता हूं।लूप से STL for_each कथन
bool CMyclass::SomeMember()
{
int ii;
for(int i=0;i<iR20;i++)
{
ii=indexR[i];
ishell=static_cast<int>(R[ii]/xStep);
theta=atan2(data->pPOS[ii*3+1], data->pPOS[ii*3]);
al2[ishell] += massp*cos(fm*theta);
}
}
असल में मैं जी से समानांतर एसटीएल उपयोग करने के लिए योजना बना रहा था ++ 4,4
g++ -D_GLIBCXX_PARALLEL -fopenmp
जो करता है, तो कोड मानक एसटीएल पुस्तकालय में लिखा है बदलाव के बिना समानांतर में कोड चलाने की अनुमति दे सकता है।
क्यों नहीं पहले '#pragma omp समानांतर' के लिए पहले? – stephan
+1 स्टीफन, हालांकि tje 'al2 [ishell]' ** + = ** को कमी खंड या परमाणु बाधा की आवश्यकता है। यह सुनिश्चित नहीं है कि यह एसटीएल समानांतर में कैसे अनुवाद करेगा। – peterchen
हां समाधानों में से एक "#pragma omp समानांतर" होगा लेकिन हमेशा प्रत्येक के लिए साझा और निजी चर पर विचार करने की आवश्यकता होगी। जो हमेशा त्रुटियों के स्रोतों में से एक है। – Arman