typeid

    6गर्मी

    4उत्तर

    के व्युत्पन्न वर्गों के लिए टाइपआईडी मैं सी ++ में कुछ तंत्र को लागू करने का प्रयास कर रहा हूं, जिससे एक सामान्य बेस क्लास से प्राप्त सभी वर्गों को एक अद्वितीय "कक्षा आईडी" असाइन किया जाता है। उदाहरण

    8गर्मी

    2उत्तर

    क्या इसे आम तौर पर उत्पादन कोड में typeid का उपयोग करने के लिए बुरी आदत माना जाता है? इसके अलावा, मैंने देखा typeidtype_info देता है, जिसमें कुछ मेटाडाटा (जैसे प्रकार के नाम के साथ एक स्ट्रिंग) शामिल

    14गर्मी

    3उत्तर

    std::type_info कक्षा गैर-प्रतिलिपि योग्य है। इससे इसे बाद में उपयोग के लिए किसी ऑब्जेक्ट में स्टोर करना मुश्किल हो जाता है। मुझे क्या करना चाहिए?

    11गर्मी

    3उत्तर

    मैंने सुना है कि बहुत से लोग कहते हैं कि typeid का कोई भी उपयोग खराब डिज़ाइन है, फिर भी मेरे लिए ऐसा लगता है कि यह बहुत अच्छी उपयोगिता प्रदान करता है। जब (और क्यों) typeid "खराब डिज़ाइन" का उपयोग होता

    10गर्मी

    2उत्तर

    पर आधारित विभिन्न विधियों का पालन करें क्या टेम्पलेट में पास किए गए चर के प्रकार को निर्धारित करने का कोई तरीका है और यदि यह int या std::string आदि पर आधारित फ़ंक्शन को कॉल करने का कोई तरीका है ...? उ

    13गर्मी

    2उत्तर

    if(typeid(int) == typeid(const int)) cout << "Same types"<< endl; कार्यक्रम आउटपुट हैं: एक ही प्रकार के हूँ मैं कुछ याद आ रही? ये समान प्रकार के समान नहीं हैं।

    8गर्मी

    4उत्तर

    मेरे पास एक प्रोग्राम है जिसमें आंशिक रूप से सूचनात्मक लॉगिंग के लिए, मैं कुछ कक्षाओं के नामों का उपयोग करता हूं, जैसा कि उनका उपयोग किया जाता है (विशेष रूप से मैं लॉग इन करने के लिए एक लॉग में प्रवेश

    9गर्मी

    1उत्तर

    मैं संकलित समय पर अपने व्युत्पन्न प्रकार के आधार पर कक्षा के लिए हैश उत्पन्न करना चाहता हूं। आज मुझे यह पसंद है उत्पन्न: template<class Type> class TypeBase { public: static const unsigned s_k

    5गर्मी

    2उत्तर

    सी ++ में मैं typeid ऑपरेटर का उपयोग किसी भी पॉलिमॉर्फिक वर्ग के नाम को पुनः प्राप्त करने के लिए कर सकता हूं: const char* name = typeid(CMyClass).name(); स्ट्रिंग मेरे प्रोग्राम में उपलब्ध लौटे cons

    7गर्मी

    1उत्तर

    मैंने निम्नलिखित कोड को g++ के साथ संकलित किया है, और आउटपुट प्राप्त किया है, जो टिप्पणियों में लिखा गया है। template<class T> void foo(T t) { cout << typeid(t).name() << endl; } int main() {