/ / क्या मुझे अभी भी कॉपी कंस्ट्रक्टर्स के लिए स्पष्ट कीवर्ड का उपयोग करना चाहिए? [बंद] - सी ++ 11, सॉफ्टवेयर-डिजाइन, स्पष्ट, स्पष्ट-रूपांतरण

क्या मुझे अभी भी कॉपी कन्स्ट्रक्टर के लिए स्पष्ट कीवर्ड का उपयोग करना चाहिए? [बंद] - सी ++ 11, सॉफ्टवेयर डिजाइन, स्पष्ट, स्पष्ट रूपांतरण

C ++ कीवर्ड को दबाने के लिए स्पष्ट प्रदान करता हैके माध्यम से निहितार्थ रूपांतरण कंस्ट्रक्टरों को जब इस तरह के रूपांतरणों की अनुमति नहीं होनी चाहिए। ए कंस्ट्रक्टर जो स्पष्ट घोषित किया गया है, उसका निहितार्थ में उपयोग नहीं किया जा सकता है रूपांतरण। एकल-तर्क निर्माता पर स्पष्ट कीवर्ड का उपयोग करें संकलक द्वारा प्रदर्शन का उपयोग नहीं किया जाना चाहिए रूपांतरण।

यह समझ में आता है, लेकिन क्या मुझे अभी भी कॉपी कंस्ट्रक्टर्स के लिए स्पष्ट कीवर्ड का उपयोग करना चाहिए? स्पष्ट और क्यों कीवर्ड का उपयोग करना अन्य मामलों में उपयोगी होगा?

उत्तर:

उत्तर № 1 के लिए 4

यह एक कॉपी कंस्ट्रक्टर को स्पष्ट घोषित करने के लिए कानूनी है। इसे घोषित करना या न करना वास्तव में इस बात पर निर्भर करता है कि आप क्या करना चाहते हैं। उदाहरण के लिए, आप एक कॉपी कंस्ट्रक्टर की घोषणा करते हैं। explicit यदि आप इसे फ़ंक्शन कॉल पर या कॉपी-इनिशियलाइज़ेशन सिंटैक्स के साथ अंतर्निहित रूप से मना करना चाहते हैं।