संभावित डुप्लिकेट:
यहां कोड का
वर्ग vector2d {सार्वजनिक: डबल एक्स, वाई; वेक्टर 2 डी (डबल पीएक्स, डबल पीए): एक्स (पीएक्स), वाई (पी) {} मैं इस लाइन को समझ नहीं पाता
vector2d (डबल पीएक्स , डबल पीए): एक्स (पीएक्स), वाई (पीआई) {} ऐसा vector2d जैसा होता है (डबल पीएक्स, डबल पाइ) {x = px; y = py ;}? या
हां, यह आपके उदाहरण में समान है। हालांकि, एक सूक्ष्म अंतर है: x (px) x को px में प्रारंभ करता है, लेकिन x = px इसे असाइन करता है। आपको एक डबल चर के लिए अंतर नहीं पता चलेगा, लेकिन यदि x जहां एक वर्ग में बड़ा अंतर होता है चलो बहाना करते हैं कि x एक प्रकार का वर्ग foo है:
x (px) foo copy constructor, foo :: foo (foo & classtocopyfrom) फोन करेगा।
दूसरी ओर x = px, पहले foo डिफ़ॉल्ट कन्स्ट्रक्टर को कॉल करेगा, फिर यह foo असाइनमेंट ऑपरेटर को कॉल करेगा।
यह एक अच्छा कारण है कि आपको ज्यादातर मामलों में एक्स (पीएक्स) को पसंद करना चाहिए।
Comments
Post a Comment