टेम्पलेट तर्क निरंतर मूल्यांकन
1. कंपाइलर कंपाइल समय पर 'i' का मूल्यांकन क्यों नहीं कर सकता?
कंपाइल-टाइम मूल्यांकन के लिए आवश्यक है कि प्रोग्राम निष्पादित होने से पहले 'i' का मान ज्ञात हो। हालाँकि, दिए गए कोड में, 'i' एक लूप वेरिएबल है जो प्रोग्राम निष्पादन के दौरान बदलता है। कंपाइलर कंपाइल समय पर 'i' का मान निर्धारित नहीं कर सकता क्योंकि यह एक गतिशील रूप से निर्दिष्ट मान है।
2। क्या मैं एपीआई इंटरफ़ेस को संशोधित किए बिना उद्देश्य प्राप्त कर सकता हूं?
हां, आप एक पुनरावर्ती फ़ंक्शन बनाने के लिए टेम्पलेट विशेषज्ञता का उपयोग कर सकते हैं जो टेम्पलेट तर्कों की श्रृंखला के माध्यम से पुनरावृत्त होता है। उदाहरण के लिए, आप एक फ़ंक्शन बना सकते हैं:
template
void modify_recursive() {
// Call modify with template argument 'i'
modify();
// Recursively call modify_recursive with the next template argument
if (i ();
}
}
template
template
struct InvokeWithParam {
InvokeWithParam(F f, int param) : f(f), param(param) {}
void operator()() { f(param); }
F f;
int param;
};
यह var के मान के साथ संशोधित फ़ंक्शन को प्रारंभ करेगा। अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3