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

क्या सी-स्टाइल स्ट्रिंग्स को सी++ में टेम्पलेट तर्क के रूप में उपयोग किया जा सकता है?

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

Can C-Style Strings Be Used as Template Arguments in C  ?

क्या सी-स्टाइल स्ट्रिंग्स टेम्पलेट तर्क हो सकते हैं?

सी-स्टाइल स्ट्रिंग का उपयोग करके टेम्पलेट को इंस्टेंट करने का आपका प्रयास एक त्रुटि के कारण विफल हो जाता है टेम्पलेट तर्क के रूप में स्ट्रिंग अक्षरशः के अमान्य उपयोग के लिए।

हालांकि सी-शैली स्ट्रिंग सीधे टेम्पलेट तर्क के रूप में काम नहीं कर सकती हैं, फिर भी हैं वैकल्पिक दृष्टिकोण:

एक स्थिर स्ट्रिंग के लिए एक पॉइंटर का उपयोग करें

एक समाधान यह है कि टेम्पलेट तर्क के रूप में एक स्थिर स्ट्रिंग के लिए एक पॉइंटर का उपयोग करें:

template 
struct X {
    const char *GetString() const {
        return str;
    }
};

char global_string[] = "String";

int main() {
    X x;
    cout 

अद्यतन: सी 11 के साथ टेम्पलेट तर्क के रूप में स्ट्रिंग अक्षर

सी 11 और बाद के संस्करण के साथ, चरित्र पैक का उपयोग करके टेम्पलेट तर्क के रूप में स्ट्रिंग अक्षर का उपयोग करना संभव है:

template 
struct X {
    const char (*GetString)() {
        return [](char*... s) { return s; }(c...);
    }
};

int main() {
    X x;
    cout 
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3