"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > कॉन्स्टेक्सपीआर फ़ंक्शंस, कॉन्स्ट सदस्यों की तरह, क्लाइंट कोड को अप्रत्याशित निर्भरता परिवर्तनों से कैसे बचाते हैं?

कॉन्स्टेक्सपीआर फ़ंक्शंस, कॉन्स्ट सदस्यों की तरह, क्लाइंट कोड को अप्रत्याशित निर्भरता परिवर्तनों से कैसे बचाते हैं?

2024-11-24 को प्रकाशित
ब्राउज़ करें:190

How do constexpr functions, like const members, protect client code from unexpected dependency changes?

क्यों कॉन्स्ट मार्क्स कॉन्स्टेक्सपीआर फ़ंक्शंस के लाभों को बढ़ाते हैं

सी 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