इस का उपयोग करते हुए इस बारे में एन-वें सवाल है, लेकिन मैं सटीक नकल कर सकता है नहीं मिल ...एक struct के सकल आरंभीकरण, अपने स्वयं के डेटा सदस्यों
मान लीजिए निम्नलिखित कोड:
#include <iostream>
struct S {
int x;
int y;
};
class C {
public:
S s;
C() : s{123, s.x} {}
};
int main() {
std::cout << C().s.y << '\n';
}
क्या यह s.y
प्रारंभ करने के लिए ठीक है? (केवल JetBrains 'ReSharper इसके बारे में शिकायत करता है: Object member this->s.x might not be initialized
)।
कोई अच्छा होगा अगर कोई मानक से उद्धरण के साथ अपना उत्तर पुष्टि करता है।
[निकटतम नियम] (http://eel.is/c++draft/special#class.cdtor-1) मुझे इस तरह की चीज के बारे में पता है, यहां लागू नहीं होता है, क्योंकि 'एस' मामूली है। फिर, [यह नियम] (http: // eel।है/C++ ड्राफ्ट/dcl.init.aggr # 3) आपके पक्ष में प्रतीत होता है। – WhiZTiM
संबंधित [क्या यह प्रारंभिक सदस्य को प्रारंभिक प्रारंभिकरण के दौरान बाद के सदस्य अभिव्यक्ति से संदर्भित करने के लिए परिभाषित व्यवहार है?] (Http://stackoverflow.com/q/32940847/1708801) –