C++ का उपयोग करते समय तीन का नियम अंगूठे का नियम है। यह एक अच्छा अभ्यास नियम है जो कहता है कि यदि आपकी कक्षा को इनमें से किसी की आवश्यकता है
- एक कॉपी कंस्ट्रक्टर,
- असाइनमेंट ऑपरेटर,
- या विध्वंसक,
स्पष्ट रूप से परिभाषित किया गया है, तो इन तीनों की आवश्यकता होने की संभावना है।
ऐसा क्यों है? इसका कारण यह है कि, यदि आपकी कक्षा को उपरोक्त में से किसी की आवश्यकता है, तो यह गतिशील रूप से आवंटित संसाधनों का प्रबंधन कर रहा है और इसे सफलतापूर्वक प्राप्त करने के लिए दूसरे की आवश्यकता होगी। उदाहरण के लिए, यदि आपको एक असाइनमेंट ऑपरेटर की आवश्यकता है, तो आप वर्तमान में संदर्भ द्वारा कॉपी की जा रही वस्तुओं की प्रतियां बना रहे होंगे, इसलिए संसाधनों का आवंटन। इन संसाधनों को मुक्त करने के लिए आपको प्रतिलिपि बनाने वाले और विनाशक के लिए प्रतिलिपि बनाने वाले की आवश्यकता होगी।