सी 11 ने कॉन्स्टेक्सपीआर विनिर्देशक की शुरुआत की, जिससे फ़ंक्शंस को निरंतर अभिव्यक्तियों में उपयोग करने में सक्षम बनाया जा सके। फ़ंक्शन व्यवहार पर सख्त आवश्यकताओं को लागू करने के बावजूद, यह एक महत्वपूर्ण लाभ प्रस्तुत करता है। awesome_lib.hpp में:
inline int f() { return 4; }
constexpr की अनुपस्थिति में, क्लाइंट कोड इस फ़ंक्शन का उपयोग संकलन-समय स्थिरांक की आवश्यकता वाले उद्देश्यों के लिए कर सकता है, जैसे टेम्पलेट तर्क या सरणी आयाम।
inline int f() { return 4; }
हालाँकि, यदि कॉन्फ़िगरेशन फ़ाइल से इसके मान को पुनः प्राप्त करने के लिए f() का कार्यान्वयन बदल जाता है, तो यह क्लाइंट कोड टूट जाएगा। यह परिवर्तन क्लाइंट कोडर की जानकारी के बिना इंटरफ़ेस के उपयोग को प्रभावी ढंग से बदल देगा।
#include#include std::array ; // needs CT template arg int my_c_array[f()]; // needs CT array dimension
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3