C++ - pointer array to Vector? -
डबल * मान; // इसके बजाय, std :: vector & lt; डबल & gt; मूल्यों; // मैं यह चाहता हूँ। मैं जिस एपीआई का उपयोग कर रहा हूं वह परिणाम को डबल * सूचक के रूप में प्रदान करता है मैं std :: vector & lt; double & gt;
< P> आप एक वेक्टर जगह में एक सरणी लपेट नहीं सकते हैं और वेक्टर को उस सरणी पर काम करने की उम्मीद कर सकते हैं। सबसे अच्छा आप ऐसा कर सकते हैं वेक्टर को डबल * और मूल्यों की संख्या दे, जिसमें वेक्टर प्रत्येक तत्व की एक प्रति बनायेगा और इसे अपने आप में डाल देगा: < कोड> इंट arrlen = 0; // my_api का नाटक संदर्भ से arrlen लेता है और इसे सरणी की लंबाई के लिए सेट करता है डबल * dbl_ptr = my_api (arrlen); वेक्टर के & lt; डबल & gt; मान (dbl_ptr, dbl_ptr + arrlen); // ध्यान दें कि मान * * नहीं है * उसी स्मृति का उपयोग कर dbl_ptr // इसलिए हालांकि मूल्य [0] == dbl_ptr [0], और मान [0]! = & Amp; dbl_ptr [0] और भी, जैसे प्राटोोरियन ने कहा, अगर आप उपयोग कर रहे एपीआई का उपयोग करने के बाद आप स्मृति को मुक्त करने की उम्मीद कर रहे हैं, तो आपको स्मार्ट पॉइंटर्स में रुचि हो सकती है। देखें।
Comments
Post a Comment