के वेक्टर के साथ एसटीएल एल्गोरिदम का उपयोग कैसे करूं मेरे पास पॉइंटर्स का वेक्टर है जो कंटेनर के स्वामित्व में नहीं हैं। मैं पॉइंटर्स के लक्ष्यों पर एल्गोरिदम का उपयोग कैसे करूं? मैंने बूस्ट के ptr_vector का उपयोग करने की कोशिश की, लेकिन जब यह दायरे से बाहर हो जाता है तो पॉइंटर्स को हटाने की कोशिश करता है।मैं पॉइंटर्स
यहाँ कुछ कोड काम करने की जरूरत है कि:
vector<int*> myValues;
// ... myValues is populated
bool consistent = count(myValues.begin(), myValues.end(), myValues.front()) == myValues.size();
auto v = consistent ? myValues.front() : accumulate(myValues.begin(), myValues.end(), 0)/myValues.size();
fill(myValues.begin(), myValues.end(), v);
// etc.
मुझे लगता है कि छोरों के लिए काम करेगा, लेकिन यह स्थानों में से एक गुच्छा में होता है, तो एकल अनुकूलक किसी तरह का? मैं एक खोजने में सक्षम नहीं था। अग्रिम में धन्यवाद!
यदि आप अभी तक अपने प्रश्नों में अनुमोदित भविष्य सी ++ मानक की सुविधाओं का उपयोग करते हैं, तो आप जो उत्तरों प्राप्त करते हैं, उन्हें सीमित कर देंगे। यह बहुत अस्पष्ट है यदि आपका प्रश्न टीएच वर्तमान मानक पुस्तकालय, बूस्ट का उपयोग, या सी ++ 0x की नई विशेषताओं के बारे में है। –
ऐसा लगता है कि वी को इंट्स का औसत मान माना जाता है, लेकिन फिर कॉपी लाइन v को कॉपी करने की कोशिश करती है, इसलिए वी को पॉइंटर या इटरेटर होना चाहिए। –
ओह हाँ, वह अंतिम पंक्ति गलत थी ... मेरा मतलब "प्रतिलिपि" के बजाय "भरना" लिखना था। –