C++ இல் nullptr என்றால் என்ன

C Il Nullptr Enral Enna



C++ இல், ஒரு குறிப்பிட்ட சுட்டி மதிப்பு a எனப்படும் பூஜ்ய சுட்டி ஒரு சுட்டிக்காட்டி எந்த சரியான நினைவக இருப்பிடத்தையும் குறிப்பிடவில்லை என்பதைக் குறிக்கப் பயன்படுகிறது. C++11 தரநிலையில் அல்லது அதற்குப் பிறகு, இது முக்கிய வார்த்தையால் குறிப்பிடப்படுகிறது. nullptr ” அல்லது 0 இன் நிலையான மதிப்பால்.

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

C++ இல் nullptr இன் எடுத்துக்காட்டு

# அடங்கும்
பயன்படுத்தி பெயர்வெளி வகுப்பு ;
முழு எண்ணாக முக்கிய ( )
{
nullptr_t pi1, pi2 ;
என்றால் ( பை1 >= பை2 )
{
கூட் << 'சுட்டி 1 சுட்டி 2 மதிப்பை விட அதிகமாக உள்ளது' << endl ;
}
வேறு
{
கூட் << 'சுட்டி 1 மதிப்பை விட சுட்டி 2 அதிகமாக உள்ளது' << endl ;
}
கரி * ch = பை1 ;
என்றால் ( ch == nullptr )
கூட் << 'ch சுட்டிக்காட்டி மாறியானது 0வது முகவரிக் குறிப்புடன் பூஜ்ய மதிப்பைக் கொண்டுள்ளது' << endl ;
வேறு
கூட் << 'ch பாயிண்டர் மாறி பூஜ்ய மதிப்பு அல்ல, முகவரிக் குறிப்புடன் சில மதிப்பைக் கொண்டுள்ளது' << endl ;
திரும்ப 0 ;
}

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







வெளியீடு



C++ இல் nullptr ஐப் பயன்படுத்துவதற்கான காரணங்கள்

பூஜ்ய சுட்டிகள் பல காரணங்களுக்காக C++ நிரலாக்கத்தில் பெரும்பாலும் பயன்படுத்தப்படுகின்றன:



1: சுட்டிகளை துவக்குதல்

ஒரு சுட்டிக்காட்டி மாறி அறிவிக்கப்படும் போது, ​​அது எப்போதும் சரியான நினைவக இருப்பிடத்துடன் துவக்கப்பட வேண்டும் அல்லது a பூஜ்ய சுட்டி . குறியீட்டில் பின்னர் சுட்டிக்காட்டி அணுகப்படும் போது, ​​இது அறிவிக்கப்படாத நடத்தையைத் தடுக்க உதவுகிறது.





2: பிழை குறியீடு

செயல்பாடுகள் திரும்பலாம் பூஜ்ய சுட்டிகள் குறிப்பிட்ட செயலை முடிக்கவோ அல்லது நினைவகத்தை ஒதுக்கவோ முடியவில்லை என்பதைக் காட்டும் பிழைக் குறியீடுகளாக.

3: சுட்டியின் செல்லுபடியை சரிபார்த்தல்

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



4: பாலிமார்பிசம்

C++ இல், பெறப்பட்ட வகுப்புகளின் எந்தப் பொருளையும் சுட்டிக்காட்டாத அடிப்படை வகுப்பு சுட்டிகள் குறிப்பிடப்படுகின்றன பூஜ்ய சுட்டிகள் . பரம்பரை மற்றும் மெய்நிகர் செயல்பாடுகள் போன்ற பொருள் சார்ந்த அம்சங்களைக் கையாள இது பொதுவாக பாலிமார்பிக் நிரலாக்கத்தில் பயன்படுத்தப்படுகிறது.

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

C++ இல் nullptr ஐப் பயன்படுத்துவதன் நன்மைகள்

பயன்படுத்துவதில் பல நன்மைகள் உள்ளன nullptr .

1: பாதுகாப்பு

ஏனெனில் nullptr NULL ஐ விட மிகவும் பாதுகாப்பானது, அதற்கு பதிலாக இது பயன்படுத்தப்பட வேண்டும். NULL என்பது பூஜ்ஜிய மதிப்புடன் ஒரு முழு எண் மாறிலியாக வரையறுக்கப்படுகிறது, nullptr இது ஒரு சுட்டி வகைக்கு மட்டுமே மாற்றப்படும் மற்றும் வேறு எந்த வகைக்கும் அல்ல.

2: பயன்பாடு

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

3: டைனமிக் மெமரி ஒதுக்கீடு

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

முடிவுரை

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