C++ द्वारा मूल्य पकड़ से फेंक जब की तरह मान द्वारा वस्तु फेंक: फेंक अपवाद(), यह, अस्थायी वस्तु पैदा करेगा कि यह कैसे संदर्भ से पकड़ा जा सकता है? मुझे पता है कि यह काम करता है, लेकिन अगर यह फ़ंक्शन रिटर्न वैल्यू या फ़ंक्शन कॉल था तो यह टाइप करने के लिए कॉन्स्ट जोड़ने के बिना असफल रहा होगा, अंतर क्या है?C++ अपवाद संदर्भ
7
A
उत्तर
6
सबसे पहले, जब आप
throw Exception();
क्या फेंक दिया जा रहा है लिखना वास्तव में prvalue अभिव्यक्ति Exception()
द्वारा बनाई गई अस्थायी वस्तु नहीं है। संकल्पनात्मक रूप से, एक अलग वस्तु है - अपवाद वस्तु - जिसे उस अस्थायी वस्तु से प्रारंभ किया गया है, और यह अपवाद वस्तु है जो वास्तव में फेंक दी गई है। (संकलनकर्ता कॉपी/कदम छिपाना है, हालांकि अनुमति दी जाती है।)
दूसरा, भाषा के नियमों का कहना है कि अपवाद वस्तु हमेशा एक lvalue माना जाता है। इसलिए इसे गैर-कॉन्स लैवल संदर्भों से बांधने की अनुमति है।
संबंधित मुद्दे
- 1. संदर्भ (C++)
- 2. emacs c C++ संदर्भ दस्तावेज़
- 3. C++ एक नेस्टेड अपवाद
- 4. C++ संदर्भ और सूचक
- 5. असेंबली बाइंडिंग पुरानी संदर्भ अपवाद
- 6. C++ समारोह:, स्थिरांक संदर्भ पैरामीटर
- 7. जेसन और परिपत्र संदर्भ अपवाद
- 8. C++ अपवाद और ld प्रतीक चेतावनी
- 9. C++ rvalue संदर्भ और स्थिरांक क्वालीफायर
- 10. संदर्भ प्रकार के लिए मूल्य असाइनमेंट C#
- 11. फ़ंक्शन से रिटर्निंग पॉइंटर्स या संदर्भ C++
- 12. shared_ptr और सी में संदर्भ C++ में
- 13. C++
- 14. C++
- 15. इकाई फ्रेमवर्क 4 लोडिंग संदर्भ अपवाद
- 16. संदर्भ द्वारा std :: अपवाद पकड़ रहा है?
- 17. संदर्भ प्रबंधक में अपवाद को पकड़ना __enter __()
- 18. जावा 8 विधि संदर्भ अनचाहे अपवाद
- 19. डोजो - निलंबन में संदर्भ त्रुटि अपवाद
- 20. एक अपवाद एक संदर्भ हैंडलर में
- 21. रीस्टेसी मॉक बनाम अपवाद मैपर बनाम संदर्भ
- 22. C#
- 23. सी ++ पकड़ ब्लॉक - मूल्य या संदर्भ द्वारा अपवाद पकड़ो?
- 24. .Net/C#
- 25. Obj-C
- 26. C++
- 27. C/C++
- 28. अपवाद को पकड़ने सबसे अच्छा अभ्यास (। C#/शुद्ध)
- 29. अपवाद C++ में भूमि के ऊपर से निपटने
- 30. क्या static_cast C++ में अपवाद फेंक सकता है?
अपवाद अलग-अलग जानवर हैं, उनके पास अपना स्वयं का अर्थशास्त्र है। –
क्या आप विस्तृत कर सकते हैं? – shd
यह यहाँ एक लंबे विषय है ... विवरण के 3 घंटे हैं: IIRC, स्कॉट Meyers 'पुस्तक https://www.youtube.com/watch?v=W7fIy_54y-w भी विषय पर कुछ अध्याय हैं ... –