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

क्या C ++ मेटाप्रोग्रामिंग का उपयोग गतिशील रूप से संकलन-समय स्थैतिक सरणियों को बनाने के लिए किया जा सकता है?

2025-02-06 पर पोस्ट किया गया
ब्राउज़ करें:998

] आकार सरणियाँ। हालांकि, कुछ परिदृश्यों के लिए, संकलन समय पर प्रोग्रामेटिक रूप से मूल्यों को असाइन करना वांछनीय हो सकता है। यह लेख स्थैतिक सरणियों के ऐसे गतिशील निर्माण को प्राप्त करने के लिए मेटाप्रोग्रामिंग तकनीकों की पड़ताल करता है। वेरिएडिक टेम्पलेट तर्क सूची। इस वर्कअराउंड की अधिकतम टेम्पलेट इंस्टेंटेशन डेप्थ के कारण सीमाएं हैं। मेटाफंक टेम्प्लेट एक पैरामीटर पैक के रूप में कार्य करता है जो इसके सूचकांक के आधार पर मूल्यों का एक अनुक्रम उत्पन्न करता है। एक generate_array टेम्पलेट तब उत्पन्न मूल्यों का उपयोग करके वांछित आकार की एक सरणी बना सकता है। }; टेम्पलेट वर्ग f & gt; संरचना generate_array { Typedef typename generate_array_impl :: परिणाम परिणाम; }; टेम्पलेट वर्ग f, अहस्ताक्षरित ... args & gt; स्ट्रक्चर जनरेट_आरे_इमप्ल { typedef typename generate_array_impl :: मान, args ...> :: परिणाम परिणाम; }; टेम्पलेट वर्ग f, अहस्ताक्षरित ... args & gt; स्ट्रक्चर जनरेट_आरे_इम्पल :: मान, args ... & gt; परिणाम; }; टेम्पलेट & lt; अहस्ताक्षरित ... args & gt; संरचना एरेहोल्डर { स्टेटिक कांस्ट्रुएशन एनसाइड डेटा [साइज़ोफ ... (args)]; }; टेम्पलेट & lt; अहस्ताक्षरित ... args & gt; const अहंकारित Arrayholder & lt; args ... & gt; :: डेटा [sizeof ... (args)] = {args ...}; const size_t गिनती = 5; typedef generate_array :: परिणाम a; for (size_t i = 0; i

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3