ది శూన్య పాయింటర్ ఆలోచన చాలా ముఖ్యమైనది ఎందుకంటే ఇది తప్పు మెమరీ యాక్సెస్లను నిరోధించడంలో సహాయపడుతుంది, ఇది ఊహించని రన్టైమ్ లోపాలు మరియు సాఫ్ట్వేర్ వైఫల్యాలకు దారి తీస్తుంది. ప్రోగ్రామ్ సృష్టించబడని లేదా ఇప్పటికే డీలోకేట్ చేయబడిన మెమరీ చిరునామా నుండి చదవడానికి లేదా వ్రాయడానికి ప్రయత్నించినప్పుడు దృష్టాంతాన్ని పరిగణించండి. ఆ ప్రవర్తన C++లో నిర్వచించబడదు మరియు తీవ్రమైన రన్టైమ్ సమస్యలు లేదా భద్రతా లోపాలకు దారితీయవచ్చు. పాయింటర్ చెల్లదు మరియు అది శూన్య విలువకు లింక్ చేసినట్లయితే దానిని తిరస్కరించకూడదు. ప్రోగ్రామ్ ముగింపులు, సెగ్మెంటేషన్ లోపాలు లేదా అనధికారిక మెమరీ యాక్సెస్లు అనేది డిఫెరెన్స్ చేసేటప్పుడు సంభవించే ఊహించని ప్రవర్తనకు కొన్ని ఉదాహరణలు. శూన్య పాయింటర్ .
C++లో nullptr యొక్క ఉదాహరణ
#ఉపయోగించి నేమ్స్పేస్ std ;
int ప్రధాన ( )
{
nullptr_t pi1, pi2 ;
ఉంటే ( pi1 >= pi2 )
{
కోట్ << 'పాయింటర్ 1 పాయింటర్ 2 విలువ కంటే ఎక్కువగా ఉంది' << endl ;
}
లేకపోతే
{
కోట్ << 'పాయింటర్ 1 విలువ కంటే పాయింటర్ 2 ఎక్కువగా ఉంది' << endl ;
}
చార్ * చ = pi1 ;
ఉంటే ( చ == nullptr )
కోట్ << 'ch పాయింటర్ వేరియబుల్ 0వ చిరునామా సూచనతో శూన్య విలువను కలిగి ఉంది' << endl ;
లేకపోతే
కోట్ << 'ch పాయింటర్ వేరియబుల్ శూన్య విలువ కాదు, చిరునామా సూచనతో కొంత విలువను కలిగి ఉంటుంది' << endl ;
తిరిగి 0 ;
}
పై కోడ్లో, మేము రెండింటిని ఉపయోగిస్తున్నాము nullptrs మరియు వాటిని ఒకదానితో ఒకటి పోల్చడం. అప్పుడు మేము ధృవీకరించడానికి అక్షర పాయింటర్ని ఉపయోగిస్తున్నాము nullptr .
అవుట్పుట్
C++లో nullptr ఉపయోగించడానికి కారణాలు
శూన్య పాయింటర్లు అనేక కారణాల వల్ల తరచుగా C++ ప్రోగ్రామింగ్లో ఉపయోగించబడతాయి:
1: పాయింటర్లను ప్రారంభించడం
పాయింటర్ వేరియబుల్ ప్రకటించబడినప్పుడు, అది ఎల్లప్పుడూ చెల్లుబాటు అయ్యే మెమరీ స్థానంతో ప్రారంభించబడాలి లేదా a శూన్య పాయింటర్ . పాయింటర్ని తర్వాత కోడ్లో యాక్సెస్ చేసినప్పుడు, ఇది అప్రకటిత ప్రవర్తనను నిరోధించడంలో సహాయపడుతుంది.
2: ఎర్రర్ కోడ్
విధులు తిరిగి రావచ్చు శూన్య పాయింటర్లు వారు పేర్కొన్న చర్యను పూర్తి చేయలేకపోయారని లేదా మెమరీని కేటాయించలేకపోయారని చూపించడానికి ఎర్రర్ కోడ్లుగా.
3: పాయింటర్ యొక్క చెల్లుబాటును ధృవీకరించడం
పాయింటర్ని డిఫెరెన్స్ చేయడానికి ముందు దాని చెల్లుబాటును ధృవీకరించడం ఎల్లప్పుడూ తెలివైన ఆలోచన. ఇది కోడ్ యొక్క పటిష్టతను పెంచుతుంది మరియు ఊహించని రన్టైమ్ వైఫల్యాలను నివారించడంలో సహాయపడుతుంది.
4: పాలిమార్ఫిజం
C++లో, ఉత్పన్నమైన తరగతుల వస్తువులను సూచించని బేస్-క్లాస్ పాయింటర్లు దీని ద్వారా సూచించబడతాయి శూన్య పాయింటర్లు . వారసత్వం మరియు వర్చువల్ ఫంక్షన్ల వంటి ఆబ్జెక్ట్-ఓరియెంటెడ్ ఫీచర్లను నిర్వహించడానికి ఇది సాధారణంగా పాలిమార్ఫిక్ ప్రోగ్రామింగ్లో ఉపయోగించబడుతుంది.
శూన్య పాయింటర్లు డాంగ్లింగ్ లేదా ప్రారంభించని పాయింటర్లతో గందరగోళం చెందకూడదు, దీన్ని గుర్తుంచుకోవడం చాలా అవసరం. ప్రారంభించబడని పాయింటర్లు విలువతో ప్రారంభించబడనందున మెమరీలోని ఏదైనా చిరునామాను సూచించవచ్చు. మరోవైపు, డాంగ్లింగ్ పాయింటర్లు చెల్లని లేదా ఇప్పటికే కేటాయించిన మెమరీ ప్రాంతాలను సూచిస్తాయి. C++ ప్రోగ్రామింగ్లో, డాంగ్లింగ్ పాయింటర్లు మరియు ప్రారంభించని పాయింటర్లు రెండూ రన్టైమ్ సమస్యలకు దారితీసే సామర్థ్యాన్ని కలిగి ఉంటాయి.
C++లో nullptrని ఉపయోగించడం వల్ల కలిగే ప్రయోజనాలు
a ని ఉపయోగించడం వల్ల అనేక ప్రయోజనాలు ఉన్నాయి nullptr .
1: భద్రత
ఎందుకంటే nullptr NULL కంటే టైప్-సురక్షితమైనది, బదులుగా దీనిని ఉపయోగించాలి. NULL అనేది సున్నా విలువతో పూర్ణాంకం స్థిరాంకం వలె నిర్వచించబడింది, nullptr పాయింటర్ లిటరల్, ఇది పాయింటర్ రకానికి మాత్రమే మార్చబడుతుంది మరియు మరే ఇతర రకానికి కాదు.
2: వినియోగం
C++ ప్రోగ్రామింగ్లో, ఉపయోగించడానికి అనేక మార్గాలు ఉన్నాయి శూన్య పాయింటర్ . పాయింటర్లను ప్రారంభించడం కోసం, ఫంక్షన్ కాల్లకు పారామీటర్లను పంపడం లేదా ఫంక్షన్ల నుండి రిటర్న్ పాయింటర్ విలువలు, ఉదాహరణలుగా, దాని సాధ్యమయ్యే కొన్ని ఉపయోగాలు. ఫంక్షన్ కాల్ లేదా చర్య చట్టబద్ధమైన పాయింటర్ విలువను అందించిందో లేదో తెలుసుకోవడానికి కూడా ఇది ఉపయోగించబడుతుంది.
3: డైనమిక్ మెమరీ కేటాయింపు
డైనమిక్ మెమరీ కేటాయింపు a యొక్క అత్యంత ప్రసిద్ధ ఉపయోగాలలో ఒకటి శూన్య పాయింటర్ . C++లో కొత్త ఆపరేటర్ని ఉపయోగించి, డైనమిక్ మెమరీ కేటాయింపు పూర్తయింది. కొత్త పద్ధతిని ప్రారంభించినప్పుడు, తాజాగా రూపొందించబడిన వస్తువుకు పాయింటర్ తిరిగి ఇవ్వబడుతుంది. తగినంత మెమరీ లేకపోవడం వంటి ఏవైనా కారణాల వల్ల కేటాయింపు విఫలమైతే, NULL తిరిగి పంపబడుతుంది. పర్యవసానంగా, కేటాయింపు విజయవంతమైందని నిర్ధారించుకోవడానికి పాయింటర్ను ఉపయోగించే ముందు రిటర్న్ విలువను ధృవీకరించడం చాలా కీలకం.
ముగింపు
ది శూన్య పాయింటర్ అనేది C++ ప్రోగ్రామింగ్లో కీలకమైన ఆలోచన, ఇది మెమరీలో చిరునామా లేదు అని చూపించడానికి మెకానిజం ఇస్తుంది. డెవలపర్లు ఉపయోగించడం ద్వారా సాఫ్ట్వేర్ క్రాష్లు మరియు ఇతర సమస్యలను నిరోధించవచ్చు శూన్య పాయింటర్లు వారి అప్లికేషన్లు తప్పు మెమరీ చిరునామాలను యాక్సెస్ చేయడానికి ప్రయత్నించలేదని నిర్ధారించుకోవడానికి. కాబట్టి, ప్రోగ్రామర్లు ఎలా అర్థం చేసుకోవడం చాలా అవసరం శూన్య పాయింటర్లు ఉపయోగించాలి మరియు వారి కార్యక్రమాలలో సమర్థవంతంగా చేయాలి.