ऐसा लगता है कि हमें सी ++ के लिए "साक्षात्कार प्रश्न" की पूरी नई नस्ल मिल रही है (मुझे उम्मीद है कि वास्तव में नहीं)।सी ++ 17 में i ++ + i ++ का मूल्यांकन क्या होगा?
यह अपरिभाषित व्यवहार पहले सी ++ से 17 होने के लिए जाना जाता है, लेकिन यह अच्छी तरह से परिभाषित सी ++ 17 से ले कर हो जाएगा?
इस समय के बाद से वहाँ एक संकलक है कि इस सी ++ 17 संशोधन को लागू करता है, किसी को भी समझा सकता है क्या, अभिव्यक्ति मूल्यांकन नियमों के अनुसार, x
का मूल्य निम्नलिखित कोड में होगा होना प्रतीत नहीं होता है?
int i = 0;
int x = i++ + i++;
Alisdair मेरेडिथ उसकी CppCon 2016 बात में इस उदाहरण here का उल्लेख है, लेकिन यह पूरी तरह से मेरे लिए स्पष्ट क्या x
के अंतिम मूल्य हो जाएगा, हालांकि ऐसा लगता है नहीं है (कि वह क्या कह रहा है कि यह हो जाएगा है कम से कम 1)।
जाहिर है, i
ही उस मामले में अभिव्यक्ति के अंत में 2 हो जाएगा।
आप शायद पढ़ना चाहेंगे [यह अनुक्रमण और मूल्यांकन आदेश संदर्भ] (http://en.cppreference.com/w/cpp/language/eval_order)। –
@LeoHeinsaar लगता है कि हमें भविष्य में हमारे प्रतिबिंब समायोजित करना होगा; पी ... –
@ πάνταῥεῖ मैं समझता हूं, चिंता भी न करें। सब ठीक है। :-) –