சி ++ இல் நகல் கட்டமைப்பாளரை எவ்வாறு செயல்படுத்துவது?



கட்டமைப்பாளர்களைப் புரிந்துகொள்வது பலருக்கு ஒரு புதிராக இருந்து வருகிறது. சி ++ இல் நகல் கட்டமைப்பாளரின் கருத்தை மதிப்பிடுவதற்கு இந்த கட்டுரை உங்களுக்கு உதவும்

புரிதல் கட்டமைப்பாளர்கள் பலருக்கு ஒரு புதிரானது. சி ++ இல் நகல் கட்டமைப்பாளரின் கருத்தை மதிப்பிடுவதற்கு இந்த கட்டுரை உங்களுக்கு உதவும். இந்த கட்டுரையில் பின்வரும் சுட்டிகள் விவரிக்கப்படும்,

எனவே தொடங்குவோம்சி ++ இல் நகல் கட்டமைப்பாளரைப் பற்றிய இந்த கட்டுரையுடன்





ஜாவாவில் கரிக்கான இயல்புநிலை மதிப்பு

ஒரு நகல் கட்டமைப்பாளர் என்பது ஒரு கட்டமைப்பாளராகும், இது ஒரு வகுப்பின் ஒரு பொருளை அதே வகுப்பின் மற்றொரு பொருளைப் பயன்படுத்தி துவக்குகிறது.

தொடரியல்:



மதிப்பை நிலையானதாக மாற்றவும், குறியீட்டில் எங்காவது மாற்றியமைக்கப்படவில்லை என்பதை உறுதிப்படுத்தவும் விரும்புவதால், எங்களிடம் முக்கிய சொல் உள்ளது. இயல்புநிலை கட்டமைப்பாளரைப் போலவே, ஒரு நகல் கட்டமைப்பாளரும் தொகுப்பால் வழங்கப்படுகிறது. இது இயல்புநிலை நகல் கட்டமைப்பாளர் என்று அழைக்கப்படுகிறது. நகல் கட்டமைப்பாளர்களை தனிப்பட்டதாக மாற்றலாம். நகல் கட்டமைப்பாளரை தனிப்பட்டதாக்கும்போது வகுப்பின் பொருள்களை நகலெடுக்க முடியாது.

இங்கே ஒரு எடுத்துக்காட்டு குறியீடு :

# பெயர்வெளியைப் பயன்படுத்துதல் வகுப்பு வகுப்பு சோதனை {தனிப்பட்ட: int x பொது: சோதனை (int x1) {x = x1} சோதனை (const test & t2) {x = t2.x} int getX () {return x}} int main () {சோதனை t1 (7) // இயல்பான கட்டமைப்பாளரை இங்கே அழைக்கப்படுகிறது சோதனை t2 = t1 // நகல் கட்டமைப்பாளர் இங்கே கூட் என்று அழைக்கப்படுகிறார்<< 't1.x = ' << t1.getX() cout << 'nt2.x = ' << t2.getX() return 0 } 

வெளியீடு:



சி ++ இல் வெளியீடு-நகல் கட்டமைப்பாளர் - எடுரேகா

விளக்கம்

மேலே உள்ள நிரல் ஒரு நகல் கட்டமைப்பாளரின் அடிப்படை டெமோ ஆகும். எங்களிடம் வகுப்பு சோதனை உள்ளது, x எனப்படும் வகை எண்ணின் தனிப்பட்ட தரவு உறுப்பினர். பின்னர் நாம் ஒரு அளவுருவாக்கப்பட்ட கட்டமைப்பாளரைக் கொண்டிருக்கிறோம், இது x க்கு மாறிகள் 7 ஐ ஒதுக்குகிறது. எங்களிடம் ஒரு நகல் கட்டமைப்பாளர் இருக்கிறார், இது t2 இன் மதிப்பை t1 இன் மதிப்புடன் உறுதிப்படுத்துகிறது. T2 இன் முகவரி அனுப்பப்படுகிறது, இது t1 இன் மதிப்பைக் கொண்டுள்ளது மற்றும் x க்கு ஒதுக்கப்படுகிறது. X இன் மதிப்பை வழங்கும் ஒரு get get function உள்ளது.

முக்கிய செயல்பாடு t1 எனப்படும் வகுப்பு சோதனையின் ஒரு பொருளைக் கொண்டுள்ளது. இந்த பொருளுடன் தொடர்புடைய மதிப்பு உள்ளது, இது ஒரு அளவுரு. முக்கிய செயல்பாடு t2 எனப்படும் வகுப்பு சோதனையின் மற்றொரு பொருளைக் கொண்டுள்ளது. இது t1 மாறியைப் பயன்படுத்தி துவக்கப்படுகிறது மற்றும் நகல் கட்டமைப்பாளர் இங்கே அழைக்கப்படுகிறார். கடைசியாக, x இன் மதிப்பைப் பெற t1 மற்றும் t2 ஐப் பொறுத்து get செயல்பாடு அழைக்கப்படுகிறது.

வகைகள்

நகல் கட்டமைப்பாளருக்கு இரண்டு வகைகள் உள்ளன.
⦁ ஆழமற்ற நகல் கட்டமைப்பாளர்
Ep ஆழமான நகல் கட்டமைப்பாளர்

சி ++ இல் நகல் கட்டமைப்பாளரைப் பற்றிய இந்த கட்டுரையுடன் நகரும்

மேலோட்டமான நகல் கட்டமைப்பாளர்:

ஒரு மேலோட்டமான நகல் கட்டமைப்பாளர் இயல்புநிலை நகல் கட்டமைப்பாளர்.

உதாரணமாக:

இரண்டு பேர் ஒரே நேரத்தில் ஒரு தரவுத்தளத்தை அணுகி, இரண்டு வெவ்வேறு அமைப்புகளில் மதிப்புகளில் மாற்றங்களைச் செய்கிறார்கள். அவர்கள் தரவுத்தளத்தில் மாற்றங்களைச் செய்தால், இந்த இரண்டு மாற்றங்களும் தரவுத்தளத்தில் காண்பிக்கப்படும். இரண்டு பொருட்களும் ஒரே நினைவக இடத்தை சுட்டிக்காட்டும். இது ஆழமற்ற நகல் கட்டமைப்பாளர். இயல்புநிலை நகல் கட்டமைப்பாளருடன் நாங்கள் பணிபுரியும் போது இது பெரும்பாலும் நிகழ்கிறது. இதற்கான எடுத்துக்காட்டு குறியீடு இங்கே: மேலோட்டமான நகல் கட்டமைப்பாளர்:

# பெயர்வெளியைப் பயன்படுத்துதல் வகுப்பு வகுப்பு சோதனை {பொது: int y, z சோதனை (int y1, int z1) {y = y1 z = z1}} int main () {a (7,13) cout ஐ சோதிக்கவும்<<'the sum is: '<< a.y+a.z return 1 } 

வெளியீடு:

விளக்கம்:

மேலே உள்ள குறியீட்டில், கம்பைலர் வழங்கிய இயல்புநிலை நகல் கட்டமைப்பாளரைப் பயன்படுத்துகிறோம். எனவே இது ஒரு ஆழமற்ற நகல் கட்டமைப்பாளர்.

சி ++ இல் நகல் கட்டமைப்பாளரைப் பற்றிய இந்த கட்டுரையுடன் நகரும்

ஆழமான நகல் கட்டமைப்பாளர்

டீப் நகல் கட்டமைப்பாளர் ஒரு பயனர் வரையறுக்கப்பட்ட நகல் கட்டமைப்பாளர்.
உதாரணத்திற்கு:
இரண்டு நபர்கள் ஒரு விளக்கக்காட்சியை உருவாக்க வேண்டும், அவர்கள் இருவரும் ஒரே மூலத்திலிருந்து நகலெடுக்கும்போது, ​​பிரதிகள் தனித்தனியாக இருக்கும். எனவே, நீங்கள் மாற்றங்களைச் செய்யும்போது மற்ற நகல் மட்டுமே பாதிக்கப்படாது. இது டீப் காப்பி கட்டமைப்பாளர். இரண்டு பொருள்களும் வெவ்வேறு நினைவக இடங்களில் சுட்டிக்காட்டப்படும், ஒன்றில் ஏற்படும் மாற்றங்கள் மற்றொன்றுக்கு எந்த விளைவையும் ஏற்படுத்தாது. நினைவகம் மாறும் வகையில் ஒதுக்கப்பட்டுள்ளது.

இதற்கான எடுத்துக்காட்டு குறியீடு இங்கே: ஆழமான நகல் கட்டமைப்பாளர்:

# பெயர்வெளியைப் பயன்படுத்துதல் வகுப்பு வகுப்பு சோதனை {தனிப்பட்ட: int x பொது: சோதனை (int x1) {x = x1} சோதனை (const test & t2) {x = t2.x} int getX () {return x}} int main () {சோதனை t1 (7) // இயல்பான கட்டமைப்பாளரை இங்கே அழைக்கப்படுகிறது சோதனை t2 = t1 // நகல் கட்டமைப்பாளர் இங்கே கூட் என்று அழைக்கப்படுகிறார்<< 't1.x = ' << t1.getX() cout << 'nt2.x = ' << t2.getX() return 0 } 

வெளியீடு:

விளக்கம்

இதே குறியீட்டைத்தான் நாம் மேலே பயன்படுத்தினோம், இது போன்ற வெளியீட்டைக் கொடுக்கும். இது ஒரு பயனர் வரையறுக்கப்பட்ட நகல் கட்டமைப்பாளர், எனவே இது ஒரு ஆழமான நகல் கட்டமைப்பாளர்.

இவ்வாறு ‘சி ++ இல் கட்டமைப்பாளரை நகலெடு’ குறித்த இந்த கட்டுரையின் முடிவுக்கு வந்துள்ளோம். நீங்கள் மேலும் அறிய விரும்பினால், பாருங்கள் எடூரேகா, நம்பகமான ஆன்லைன் கற்றல் நிறுவனம். எடுரேகாவின் ஜாவா ஜே 2 இஇ மற்றும் எஸ்ஓஏ பயிற்சி மற்றும் சான்றிதழ் பாடநெறி, முக்கிய மற்றும் மேம்பட்ட ஜாவா கருத்தாக்கங்களுக்கும், ஹைபர்னேட் & ஸ்பிரிங் போன்ற பல்வேறு ஜாவா கட்டமைப்புகளுக்கும் பயிற்சி அளிக்க வடிவமைக்கப்பட்டுள்ளது.

எங்களுக்கு ஒரு கேள்வி கிடைத்ததா? தயவுசெய்து இந்த வலைப்பதிவின் கருத்துகள் பிரிவில் குறிப்பிடவும், விரைவில் நாங்கள் உங்களைத் தொடர்புகொள்வோம்.