] इसके उद्देश्य को समझने के लिए, आइए इस पेपर से निपटने के लिए विशिष्ट समस्या में देरी करें और बाद के भाषा समायोजन को हमें स्वीकार करने की आवश्यकता है। }; यूनियन यू {एक्स एक्स; फ्लोट एफ; }; ... U u = {{{1}}; कोड:
x *p = new (& u.x) x {2}; नई ऑब्जेक्ट में अब इसका n सदस्य 2 पर सेट होगा। आप परिणाम की क्या उम्मीद करेंगे? संकलक, इसकी धारणा के आधार पर कि कांस्ट वैरिएबल अपरिवर्तनीय हैं, कोड को अनुकूलित करते हैं, U.x.n के नए मान को प्रस्तुत करते हैं। यहाँ एक उदाहरण है:
assert (*std :: launder (& u.x.n) == 2); // सच होगा। Access। मेमोरी को लॉन्डिंग करके, हम कंपाइलर को इसकी सामग्री के बारे में धारणा बनाने से रोकते हैं, यह सुनिश्चित करते हुए कि हमारे पास सटीक और विश्वसनीय डेटा एक्सेस है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3