सी 11 में, फ़ंक्शंस के लिए एक प्रकार के क्वालीफायर के रूप में कॉन्स्टेक्सपीआर की शुरूआत ने इनलाइन, एक मौजूदा तंत्र के साथ इसके संबंध के बारे में सवाल उठाए हैं इनलाइनिंग कार्यों के लिए। यह आलेख कॉन्स्टेक्सपीआर के निहितार्थों की जांच करता है और यह इनलाइन के साथ कैसे इंटरैक्ट करता है। इसका मतलब यह है कि फ़ंक्शन विनिर्देशक के रूप में constexpr का उपयोग अंतर्निहित रूप से इनलाइन विनिर्देशक को भी सेट करता है। इसलिए, यदि किसी फ़ंक्शन को constexpr घोषित किया जाता है, तो यह ऐसा व्यवहार करेगा जैसे कि इसमें इनलाइन विनिर्देशक था। एक constexpr फ़ंक्शन, कंपाइलर अभी भी फ़ंक्शन को इनलाइन करने का प्रयास करेगा जैसे कि इसे इनलाइन घोषित किया गया हो। ऐसा इसलिए है क्योंकि constexpr फ़ंक्शंस को कुछ मानदंडों को पूरा करने की आवश्यकता होती है जो उन्हें इनलाइनिंग के लिए उपयुक्त बनाते हैं, जैसे कि सरल होना और पुनरावर्ती नहीं होना।
हालाँकि, यह ध्यान रखना महत्वपूर्ण है कि इनलाइन विनिर्देशक का इनलाइनिंग की तुलना में एक परिभाषा नियम (ओडीआर) पर अधिक महत्वपूर्ण प्रभाव पड़ता है। अलग-अलग इनलाइन क्वालीफायर वाले फ़ंक्शंस की कई परिभाषाएँ हो सकती हैं, जबकि इनलाइन फ़ंक्शंस की तरह कॉन्स्टेक्सपीआर फ़ंक्शंस की एक ही परिभाषा होनी चाहिए। इनलाइनिंग निर्णयों पर. कंपाइलर अंततः यह निर्धारित करता है कि किसी फ़ंक्शन को उसके आकार और जटिलता सहित विभिन्न कारकों के आधार पर इनलाइन करना है या नहीं। कॉन्स्टेक्सपीआर फ़ंक्शंस को शुरू में इनलाइनिंग के लिए उपयुक्त बनाने के लिए डिज़ाइन किया गया था, लेकिन बाद में छूट ने अधिक जटिल कॉन्स्टेक्सपीआर फ़ंक्शंस की अनुमति दी है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3