यदि front()
एक संदर्भ देता है और कंटेनर खाली है, तो मुझे क्या अनिश्चित संदर्भ मिलता है? क्या इसका मतलब है कि मुझे प्रत्येक front()
से पहले empty()
जांचना होगा?खाली स्टडी कंटेनर के सामने() से मुझे क्या मिलता है?
उत्तर
आप अपरिभाषित व्यवहार मिलता है - आप की जाँच करने के खाली() (जो की जाँच करता है, तो कंटेनर खाली है) सामने कॉल करने से पहले() कि कंटेनर कुछ का उपयोग किया गया की जरूरत है।
आप अपरिभाषित व्यवहार मिलता है।
पर सीमा जाँच उपयोग प्राप्त करने के लिए (0)। यदि यह विफल रहता है तो आपको out_of_range
अपवाद मिलता है।
अपरिभाषित व्यवहार
तुम हमेशा सुनिश्चित करें कि आपके कंटेनर सामने() इस उदाहरण पर कॉल करने से पहले खाली नहीं है होना जरूरी है। एक सुरक्षित गार्ड के रूप में खाली कॉल करना अच्छा है।
बेशक, आपके प्रोग्राम डिज़ाइन के आधार पर, हमेशा एक गैर-खाली कंटेनर होने पर एक आविष्कारशील कथन हो सकता है जिससे आप प्रत्येक बार कॉल() को कॉल() पर कॉल को रोकने और सहेजने की अनुमति देते हैं। (या कम से कम अपने कोड का कुछ हिस्सा? में)
लेकिन जैसा कि ऊपर कहा गया है, अगर आप अपने कार्यक्रम में undefinied व्यवहार से बचना चाहते हैं, यह एक मजबूत अपरिवर्तनीय हैं।
हाँ, आप ग्राहम की तरह बजाय सामने का उपयोग करने का उल्लेख किया है 'पर' का उपयोग कर सकते हैं।
लेकिन, पर (0) कुछ कंटेनरों के लिए ही उपलब्ध है - वैक्टर, Deque और नहीं दूसरों के लिए - सूची, कतार, ढेर। इन मामलों में आपको 'खाली' चेक की सुरक्षा पर वापस आना होगा।
- 1. प्रतीक सर्वर स्थापित करने से मुझे क्या मिलता है?
- 2. क्या मुझे अमेज़ॅन ऐप स्टोर से INSTALL_REFERRER इरादा मिलता है?
- 3. मुझे यह सिस्टम क्यों मिलता है। NullReferenceException?
- 4. क्या स्टडी कन्स्ट्रक्टरों के आमंत्रण योग्य होने की आवश्यकता है?
- 5. क्या मुझे खाली() php फ़ंक्शन
- 6. पायथन: मुझे डेटाटाइम.timedelta ऑब्जेक्ट से समय कैसे मिलता है?
- 7. मुझे 'टाइम' कमांड से वास्तविक समय मूल्य कैसे मिलता है?
- 8. प्रेषक से मुझे टैग मूल्य कैसे मिलता है
- 9. मुझे itertools.product के साथ मेमोरी एरर क्यों मिलता है?
- 10. सामने से जुड़ें क्वेरी
- 11. मुझे "उदाहरण के लिए अवैध सामान्य प्रकार" क्यों मिलता है?
- 12. क्या एसटीएल खाली है() थ्रेडसेफ?
- 13. अद्यतन करने के बाद मुझे लाल विस्मयादिबोधक क्यों मिलता है?
- 14. सीएमएस बिना सामने के?
- 15. मुझे कैसे पता चलेगा कि स्ट्रीम से मुझे कौन सा छवि प्रारूप मिलता है?
- 16. पेपैल के साथ भुगतान करने के बाद मुझे अपनी दुकान पर एक खाली पृष्ठ क्यों मिलता है?
- 17. स्ट्रिंग के सामने से एन अक्षर को
- 18. एंड्रॉइड; जियोकोडर, मुझे "सेवा उपलब्ध नहीं है" क्यों मिलता है?
- 19. मुझे java.io.IOException क्यों मिलता है: स्ट्रीम बंद है?
- 20. स्ट्रिंग अक्षर के सामने बी क्या करता है?
- 21. फ़ंक्शन नाम से पहले और क्या संकेत मिलता है?
- 22. रेजर व्यू में POST अनुरोध प्राप्त करते समय मुझे खाली स्ट्रिंग के बजाय शून्य क्यों मिलता है?
- 23. एक सीएसएस घोषणा के सामने * (स्टार) का मतलब क्या है?
- 24. FragmentTransaction से विधि निकालें कंटेनर
- 25. एक स्ट्रिंग के सामने 'एल' सी ++ में क्या मतलब है?
- 26. मुझे निम्नलिखित कोड में एनपीई क्यों मिलता है?
- 27. 'यू' प्रतीक स्ट्रिंग मानों के सामने क्या मतलब है?
- 28. मुझे "पतला एडाप्टर नहीं मिला" क्यों मिलता है?
- 29. सी # में .NET के StreamWriter से मुझे सर्वश्रेष्ठ प्रदर्शन कैसे मिलता है?
- 30. कंटेनर क्या है। डेटाटाइम बिल्कुल?
आप खाली() का भी उपयोग कर सकते हैं। –
मेरी इच्छा है कि वे एसटीएल डिज़ाइन और निर्दिष्ट करते समय अधिक विशिष्ट रहे हों। मुझे लगता है कि बड़ी संख्या में सी ++ पोर्टिंग मुद्दों और बग प्लेटफार्मों के कारण होते हैं-इन्हें अच्छे प्रोग्रामर द्वारा शोषित इन "अपरिभाषित व्यवहार" के कार्यान्वयन को निर्दिष्ट करते हैं। –
कुछ यूबी बनाने का निर्णय आमतौर पर वैकल्पिक रूप से कुछ ओवरहेड होता है - इस मामले में अपवाद फेंकना, जो सी ++ हमेशा से बचने का प्रयास करता है। –