c++ - जब एक संकलित समय ज्ञात संदर्भ एक संरचना में जगह लेता है, तो क्या यह एक चूक अनुकूलन है?



struct reference (1)

इस उदाहरण को देखें:

struct Foo {
    int a;
    int &b = a;
};

क्या यह मिस्ड ऑप्टिमाइज़ेशन है, अगर sizeof(Foo)!=sizeof(int) ?

मेरा मतलब है, संकलक b को संरचना से हटा सकता है, क्योंकि यह हमेशा a को संदर्भित करता a ?

क्या ऐसा कुछ है जो संकलक को यह परिवर्तन करने से रोकता है?

(ध्यान दें, struct Foo जैसा दिखता है। कोई कंस्ट्रक्टर नहीं है, लेकिन आप Foo आसपास कुछ भी जोड़ सकते हैं, जिससे पता चलता है कि यह अनुकूलन मानक का उल्लंघन करेगा)


नहीं, क्योंकि आप किसी अन्य चीज को संदर्भित करने के लिए किसी वैरिएबल के कुल संयोजन का उपयोग कर सकते हैं।

struct Foo {
    int a;
    int &b = a;
};

int c;
Foo f{7, c};




language-lawyer