क्या सी ++ भाषा निम्नलिखित कोड को प्रिंट करने की अनुमति देती है उदा। 16 के बजाय 1? अन्य उत्तरों के मुताबिक मैं हां अनुमान लगाऊंगा लेकिन यह मामला विशेष रूप से कवर नहीं हुआ प्रतीत होता है।सी ++ कक्षा के अंदर संदर्भों के लिए भंडारण अनुकूलित किया जा सकता है?
यह अनिर्दिष्ट या नहीं, एक संदर्भ भंडारण
यह भी संकलक अप करने के लिए क्या तय करने के लिए है की आवश्यकता है:
#include "iostream"
#include "cstdlib"
using namespace std;
struct as_array {
double &a, &b;
as_array(double& A, double& B)
: a(A), b(B) {}
double& operator[](const int i) {
switch (i) {
case 0:
return this->a;
break;
case 1:
return this->b;
break;
default:
abort();
}
}
};
int main() {
cout << sizeof(as_array) << endl;
}
* "लेकिन यह मामला विशेष रूप से कवर नहीं किया गया प्रतीत होता है" * - विशेष रूप से आपके मामले के बारे में क्या आपको लगता है कि कवर नहीं किया गया था? बस संदर्भ वर्ग के सदस्य हैं? –
क्या मुझे कुछ याद आ रही है? चूंकि 'ए' और 'बी' स्वतंत्र संदर्भ हैं, इसलिए कंपाइलर दो पॉइंटर्स के लिए स्थान आवंटित करने के अलावा, संरचना को कार्यान्वित कैसे करेगा? –
> आपके मामले के बारे में विशेष रूप से क्या आपको लगता है कि कवर नहीं किया गया था? हाँ यह तथ्य था कि संदर्भ कक्षा सदस्य – user3493721