को छोड़कर गैर प्रतिलिपि मुझे लगता है कि एक वर्ग गैर-प्रतिलिपि बनाने से मुझे मेरी कोड गुणवत्ता के साथ बहुत मदद मिलती है। शुरुआत में मैंने इसे बढ़ावा देने के साथ किया :: noncopyable, लेकिन मुझे वीसी ++ कंपाइलर त्रुटियों को निजी सदस्यों के साथ सहायक नहीं होना चाहिए (कोड में गलत जगह पर डबल क्लिक करना)।सी ++ कभी-कभी
T(T const&);
T& operator=(T const&);
वास्तव में, यह मुझे काफी कुछ मामले थे वर्गों संदर्भ वे होना चाहिए जहां के रूप में पारित नहीं हुए को सतर्क कर दिया गया है। इतना तो, कि मैं कक्षाओं पर भी एक चेतावनी प्राप्त करना चाहता हूं कि मुझे केवल एक बार निर्माण की प्रतिलिपि बनाने की आवश्यकता है।
क्या ऐसा करने का कोई अच्छा तरीका है? मैं दो तरीकों से निजी छोड़ने और सार्वजनिक टी (टी कॉन्स &, बूल डमी) कन्स्ट्रक्टर जोड़ने के उदाहरण के लिए सोच रहा था जब मैं वास्तव में निर्माण की प्रतिलिपि बनाना चाहता हूं। या वैकल्पिक रूप से दो तरीकों से सार्वजनिक रूप से बना सकते हैं और किसी भी तरह से प्रतिलिपि बनाते समय एक संकलक चेतावनी को सक्रिय करते हैं, जहां मैं चाहता हूं चेतावनी दबाने।
या शायद सभी एक साथ बेहतर तरीका है?
मुझे यह जवाब सबसे अच्छा लगता है। कॉपी अनुभवकर्ताओं के साथ समस्या, मेरे अनुभव में, जब वे कुछ विशाल वस्तु पर "दुर्घटना से" आह्वान करते हैं। 'स्पष्ट' आपको इसके बारे में सोचने के लिए मजबूर करता है जब आप उन्हें बुलाते हैं, जो पर्याप्त होना चाहिए। – Nemo
चीयर्स, यह मेरी आवश्यकताओं के अनुरूप है। धन्यवाद। – Cookie