டைனமிக்_காஸ்ட் சி++

Tainamik Kast Ci



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

C++ இல் தரவு வகை மாற்றம்:

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

  வரைகலை பயனர் இடைமுகம், உரை, பயன்பாட்டு விளக்கம் தானாக உருவாக்கப்படும்







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



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



# “(தரவு வகை) வெளிப்பாடு”

மேலே உள்ள குறியீட்டில், அடைப்புக்குறிக்குள் சரியான தரவு வகையை வைக்க வேண்டும், மேலும் அடைப்புக்குறிக்குப் பிறகு, அடைப்புக்குறிக்குள் எழுதப்பட்ட தரவு வகையாக மாற்ற விரும்பும் மாறி அல்லது வெளிப்பாட்டை எழுத வேண்டும்.





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

C++ இல் டைனமிக் காஸ்டிங்:

சி++ நிரலாக்க மொழியில் டைனமிக் காஸ்டிங் என்பது RTTI(ரன் டைம் டைப் ஐடென்டிஃபிகேஷன்) என்ற கருத்தை அடிப்படையாகக் கொண்டது. RTTI என்பது C/C++, Ada மற்றும் Object Pascal போன்ற பல நிரலாக்க மொழிகளில் உள்ளது. ரன்-டைம் வகை அடையாளம் அல்லது தகவல் என்பது ஒரு நிரலின் இயங்கும் நேரத்தில் ஒரு பொருளின் தரவு வகையின் விவரங்கள் தொடர்பான தகவலை அடையாளம் கண்டு பிரித்தெடுக்கும் ஒரு செயல்பாடாகும். இந்தச் செயல்பாடு 'டைபீட்' செயல்பாடு அல்லது டைனமிக் வகை வார்ப்பு போன்ற வகை வார்ப்பு முறைகளுக்கு பாதுகாப்பான பாதையை வழங்குகிறது. இது இயங்கும் நேரத்தில் தரவு வகை தகவலைக் கண்டறிந்து, ஆபரேட்டர்கள் விளையாடும் போது தரவு வகையை மாற்ற உதவுகிறது.



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

# “டைனமிக்_காஸ்ட் <புதிய_வகை>(வெளிப்பாடு)”

மேலே உள்ள வெளிப்பாட்டில், முதல் பகுதி ஆபரேட்டரின் பெயரை விவரிக்கிறது; கோண அடைப்புக்குறிக்குள், நமது வெளிப்பாட்டை மாற்ற வேண்டிய தரவு வகையின் பெயரை எழுதுகிறோம், மேலும் வட்ட அடைப்புக்குறிக்குள், நாம் மாற்ற விரும்பும் மாறி அல்லது பொருளின் பெயரை எழுதுகிறோம்.

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

உபுண்டு 20.04 இல் டைனமிக் காஸ்ட் முறையைப் பயன்படுத்துதல்:

இந்த கருத்தை செயல்படுத்த, பரம்பரை மூலம் வர்க்கத்தின் பொருட்களை மாற்றுவதற்கு நாம் பல வகுப்புகளைப் பயன்படுத்த வேண்டும். எனவே, முதலில் அதைச் செய்ய, உபுண்டு சூழலில் உள்ள C++ நிரல் கோப்பு “.cpp” என்ற நீட்டிப்புடன் சேமிக்கப்பட்டுள்ளது என்பதை நாம் முதலில் அறிந்து கொள்ள வேண்டும், எனவே இந்தக் கோப்பை எங்கள் டெஸ்க்டாப்பில் உருவாக்க, டெர்மினலைத் திறந்து “cd டெஸ்க்டாப்” என்று தட்டச்சு செய்க கட்டளை வரி, பின்னர் '.cpp' நீட்டிப்புடன் ஒரு கோப்பை உருவாக்க Enter ஐ அழுத்தி, 'touch filename .cpp' என தட்டச்சு செய்யவும். இப்போது நாம் அந்த கோப்பில் ஒரு அடிப்படை வகுப்பு மற்றும் 2 பெறப்பட்ட வகுப்புகளை உருவாக்க ஒரு குறியீட்டை எழுதுவோம், மேலும் இயக்கி குறியீட்டில், டைனமிக் காஸ்ட் ஆபரேட்டரைப் பயன்படுத்துவோம்.

  வரைகலை பயனர் இடைமுகம், உரை விளக்கம் தானாக உருவாக்கப்படும்

சேமி பொத்தானைக் கிளிக் செய்த பிறகு கோப்பிலிருந்து வெளியேறவும். டெர்மினலுக்குத் திரும்பி, உங்கள் கோப்பு பெயர் மற்றும் '.cpp' நீட்டிப்புடன் 'g++' கட்டளையைப் பயன்படுத்தி கோப்பை உருவாக்கவும். இந்தக் கட்டளையைப் பயன்படுத்தி “.out” நீட்டிப்புடன் கூடிய கோப்பு உருவாக்கப்படும். நீங்கள் இப்போது './' ஐ உள்ளிட்டு உங்கள் '.out' நீட்டிப்பை உள்ளிட்டு அந்த கோப்பை இயக்கலாம்.
  உரை விளக்கம் தானாக உருவாக்கப்படும்

இந்த திட்டத்தில், அடிப்படை வகுப்பு சுட்டியானது வகுப்பு 1 பொருள்களை (d1) சேமிக்கிறது. டைனமிக் காஸ்டிங் பேஸ் கிளாஸ், பாயிண்டர் டெரிவேட் 1 ஆப்ஜெக்ட்டைத் தக்கவைத்து, அதை பெறப்பட்ட கிளாஸ் 1க்கு ஒதுக்கியது, இது சரியான டைனமிக் காஸ்டிங்கை வழங்கியது.

முடிவுரை :

C++ நிரலாக்க மொழியில் பயன்படுத்தப்படும் வகை வார்ப்பு முறையை இந்தக் கட்டுரை எங்களுக்குக் கற்றுக் கொடுத்தது. வார்ப்பு வகையும் விரிவாக விவாதிக்கப்பட்டது, மேலும் C++ நிரலாக்கத்தில் இத்தகைய முறைகளை ஏன் பயன்படுத்துகிறோம் என்பதற்கான அவசியத்தை நாங்கள் கவனித்தோம். தகவலைப் பெற்று, RTTI எனப்படும் சரியான மாற்றத்தைச் சரிபார்ப்பதன் மூலம் மாறியின் தரவு வகையை மாற்ற உதவும் உதவி செயல்பாட்டைப் பற்றி நாங்கள் விவாதித்தோம். உபுண்டு 20.04 சூழலில் C++ நிரலாக்க மொழியில் ஒரு வெளிப்பாட்டில் டைனமிக் காஸ்ட் ஆபரேட்டரைப் பயன்படுத்தி டைனமிக் காஸ்டிங் என்ற கருத்தையும் செயல்படுத்தினோம்.