मैं सी ++ के लिए काफी नया हूं इसलिए यह एक मामूली सवाल हो सकता है:सी ++ में एक सरणी (वर्ग सदस्य) को सही तरीके से कैसे वापस करें?
मेरी कक्षा में एक निजी सदस्य चर है जो एक सरणी है। मुझे उस सरणी को वापस करने की ज़रूरत है, लेकिन मुझे यकीन नहीं है कि यह ठीक से कैसे करें।
class X {
// ...
private: double m_Array[9];
public: double* GetArray() const { return m_Array; }
};
क्या इस कोड के साथ कोई समस्या है? यह वर्ग के सदस्य को एक सूचक देता है, है ना? - इसलिए यदि मैं इस वर्ग के उदाहरण से उस सरणी को लाता हूं और इसे संशोधित करता हूं (कक्षा के बाहर से), मूल वर्ग सदस्य सरणी भी बदली जाएगी? यदि ऐसा है, तो मैं इसके बजाय सरणी की एक प्रति कैसे वापस कर सकता हूं?
'std :: vector < double >' पर विचार करें यदि सरणी का आकार ठीक नहीं है (आपके उदाहरण में यह ठीक लगता है, इसलिए कोई चिंता नहीं है)। जोड़ा गया लाभ: आप वेक्टर के लिए एक संदर्भ वापस कर सकते हैं। – hochl
आमतौर पर वस्तुओं के साथ आप डेटा और व्यवहार को समाहित करते हैं। क्या कोई कारण नहीं है कि आप क्या चाहते हैं 'एक्स' नहीं कर सकता? [बताओ, मत पूछो] (http://pragprog.com/articles/tell-dont-ask)। –