क्या टेम्पलेट तर्क की स्थिरता के आधार पर टेम्पलेट वर्ग के गैर-कॉन्स्ट/कॉन्स्ट डेटा सदस्य को सशर्त रूप से सक्षम करना संभव है? या शायद कुछ सशर्त typedef है? मैंने std :: is_const के साथ std :: enable_if का उपयोग करने के बारे में सोचा, लेकिन कोई std :: is_not_const नहीं है जिसे मैं उपयोग कर सकता हूं।क्या टेम्पलेट तर्क की स्थिरता के आधार पर टेम्पलेट वर्ग के गैर-कॉन्स्ट/कॉन्स्ट डेटा सदस्य को सशर्त रूप से सक्षम करना संभव है?
class A;
template <typename T>
class Test
{
A& m_a; // If T != const.
const A& m_a; // If T == const.
};
ध्यान दें कि हमेशा टी = ए
शायद इस प्रश्न का उत्तर यहां से दिया जा सकता है क्योंकि यह संबंधित है। कुछ टी होने पर, क्या 'शुद्ध प्रकार' को std :: remove_const के साथ भी गलत हो सकता है, यहां तक कि जब टी वास्तव में गैर-कॉन्स्ट है? – NFRCR
यह ठीक है। 'remove_const' मूल प्रकार वापस देगा यदि यह योग्यता योग्य नहीं है। लेकिन ध्यान दें कि 'remove_const' 'कॉन्स्ट टी एंड 'देता है क्योंकि यह केवल शीर्ष-स्तरीय क्वालीफायर को हटा देता है। –
jrok