चूंकि आप विंडोज के बारे में बात कर रहे हैं, हम एक x86 प्रोसेसर मान लेंगे।
इस मामले में, वापसी मूल्य आम तौर पर रजिस्टर ईएक्स में होगा। चूंकि आप इसका उपयोग नहीं कर रहे हैं, इसलिए उस मूल्य को केवल अनदेखा कर दिया जाएगा, और अगली बार ईएक्स निष्पादन में कुछ लिखने के लिए कुछ कोड ओवरराइट किया जाएगा।
मामलों की उचित संख्या में, यदि किसी फ़ंक्शन के पास कोई अन्य दुष्प्रभाव नहीं है (केवल इनपुट लेता है और कुछ परिणाम देता है) तो संकलक तब पता लगा पाएगा जब आप परिणाम का उपयोग नहीं कर रहे हैं, और बस कॉल नहीं करते समारोह।
आपके मामले में, फ़ंक्शन के कुछ दुष्प्रभाव होते हैं, इसलिए इसे उन दुष्प्रभावों को पूरा करना होता है, लेकिन योग की गणना करने के लिए कोड को अच्छी तरह से बढ़ाया जा सकता है। यहां तक कि अगर यह elided नहीं था, यह शायद यह पता लगा सकता है कि जो जोड़ा जा रहा है वास्तव में दो स्थिरांक हैं, इसलिए यह किसी भी मामले में रन-टाइम पर परिणाम की वास्तविक गणना नहीं करेगा, बस mov EAX, 2000
जैसे कुछ ऐसा करने के लिए प्रतिलाभ की मात्रा।
स्रोत
2013-02-26 18:33:06
आपके प्रश्न का उत्तर नहीं है, लेकिन शैली के मामले के बारे में, आप 'नेमस्पेस std' का उपयोग करके अपने उपयोग पर पुनर्विचार करना चाहेंगे। क्यों, कृपया सी ++ एफएक्यू एंट्री एंट्री पढ़ें [क्या मुझे अपने कोड में 'नेमस्पेस एसडीडी' का उपयोग करना चाहिए?] (Http://www.parashift.com/c++-faq-lite/using-namespace-std.html) – DavidRR