C++లో Null మరియు Nullptr మధ్య తేడా ఏమిటి? (వివరంగా) - అన్ని తేడాలు
విషయ సూచిక
“Nullptr” అనేది సున్నాని చిరునామాగా వర్ణించే కీవర్డ్గా పరిగణించబడుతుంది, అయితే “Null” అనేది పూర్ణాంకం వలె సున్నా విలువ.
మీరు ప్రోగ్రామర్ అయితే, కంప్యూటర్ భాషలను మరింత మెరుగ్గా కోడ్ చేయడానికి అర్థం చేసుకోవడం ఎంత ముఖ్యమో మీకు తెలిసి ఉండవచ్చు. కానీ కొన్నిసార్లు, ఇది కొంచెం గందరగోళంగా ఉంటుంది మరియు మీరు రెండు విషయాల మధ్య కలపవచ్చు.
C++ లాంగ్వేజ్లో Null మరియు Nullptr విషయంలో కూడా ఇదే పరిస్థితి. ఈ రెండు పదాలకు అర్థమేమిటో మరియు వాటి వ్యత్యాసాన్ని మరియు వాటి వినియోగాన్ని అర్థం చేసుకోవడంలో మీకు సహాయపడటానికి వాటి విధులను నేను మీకు చెప్తాను.
సత్వరమే డైవ్ చేద్దాం!
కంప్యూటర్ లాంగ్వేజెస్ అంటే ఏమిటి?
కంప్యూటర్ భాషలను ప్రోగ్రామ్లు మరియు నిర్దిష్ట అప్లికేషన్లను వ్రాయడానికి ఉపయోగించే కోడ్ లేదా సింటాక్స్గా నిర్వచించవచ్చు.
ప్రాథమికంగా, ఇది కంప్యూటర్లతో కమ్యూనికేట్ చేయడానికి ఉపయోగించే అధికారిక భాష. అదే విధంగా, వివిధ దేశాలలో ప్రజలు ఆలోచనలను పంచుకోవడంలో సహాయపడే వివిధ భాషలు ఉన్నాయి, అలాగే కంప్యూటర్లు కూడా ఉన్నాయి.
ఇవి కంప్యూటర్ ప్రోగ్రామింగ్ను అర్థం చేసుకోవడానికి మరియు వాటిపై పని చేయడానికి కనుగొనబడ్డాయి. సాధారణంగా, కంప్యూటర్ భాషను మూడు ప్రధాన వర్గాలుగా వర్గీకరించవచ్చు:
- అసెంబ్లీ లాంగ్వేజ్
ఇది మైక్రోప్రాసెసర్ల కోసం ఉపయోగించే తక్కువ-స్థాయి భాషగా పరిగణించబడుతుంది. మరియు అనేక ఇతర ప్రోగ్రామబుల్ పరికరాలు. ఇది రెండవ తరం భాష. ఇది ఆపరేటింగ్ సిస్టమ్ను వ్రాయడానికి మరియు విభిన్న డెస్క్టాప్ అప్లికేషన్లను వ్రాయడానికి ప్రసిద్ధి చెందింది.
- యంత్ర భాష
ఈ స్థానిక భాష మొదటి తరం భాష.దీనిని మెషిన్ కోడ్ లేదా ఆబ్జెక్ట్ కోడ్ అని కూడా పిలుస్తారు, బైనరీ అంకెలు 0 మరియు 1 సమితిని కలిగి ఉంటుంది. ఈ అంకెలు త్వరగా అర్థం చేసుకునే కంప్యూటర్ సిస్టమ్ ద్వారా అర్థం చేసుకోబడతాయి మరియు చదవబడతాయి.
- అధిక-స్థాయి భాష
పాత భాషల్లోని పోర్టబిలిటీ సమస్యల కారణంగా ఇది స్థాపించబడింది. కోడ్ బదిలీ చేయలేకపోయింది, దీని అర్థం కోడ్ ఒక మెషీన్లో వ్రాయబడింది. ఈ భాష అర్థం చేసుకోవడం సులభం మరియు చాలా యూజర్ ఫ్రెండ్లీ కూడా.
కంప్యూటర్ అర్థం చేసుకునే భాషలోని భాగాన్ని “బైనరీ” అంటారు. మరోవైపు, ప్రోగ్రామింగ్ లాంగ్వేజ్ని బైనరీలోకి అనువదించడాన్ని “కంపైలింగ్” అంటారు.
సంక్షిప్తంగా, ప్రోగ్రామింగ్ భాషలు వ్యక్తులు కంప్యూటర్లకు సూచనలను అందించడానికి అనుమతిస్తాయి, తద్వారా వారు వాటిని చదవగలరు మరియు అమలు చేయగలరు. C భాష నుండి పైథాన్ వరకు ప్రతి కంప్యూటర్ భాష దాని ప్రత్యేక లక్షణాలను కలిగి ఉంటుంది.
ఈ భాషలు కంప్యూటర్లు పెద్ద మరియు సంక్లిష్టమైన డేటాను మరింత సమర్థవంతంగా ప్రాసెస్ చేయడం సులభం మరియు వేగవంతం చేస్తాయి. నేడు ప్రపంచంలో అనేక ప్రోగ్రామింగ్ భాషలు ఉన్నాయి. వీటిలో కొన్ని జావా, పైథాన్, HTML, C, C++ మరియు SQL ఉన్నాయి.
C++ లాంగ్వేజ్ అంటే ఏమిటి?
C++ భాష ప్రపంచంలోని అత్యంత ప్రజాదరణ పొందిన ప్రోగ్రామింగ్ భాషలలో ఒకటి. నేటి ప్రపంచంలోని ఆపరేటింగ్ సిస్టమ్లు, గ్రాఫికల్ యూజర్ ఇంటర్ఫేస్లు మరియు ఎంబెడెడ్ సిస్టమ్లలో మీరు ఈ భాషను కనుగొంటారు.
ఇది కూడ చూడు: లిక్విడ్ స్టెవియా మరియు పౌడర్డ్ స్టెవియా మధ్య వ్యత్యాసం (వివరించబడింది) - అన్ని తేడాలుఇది అధిక-పనితీరు గల అప్లికేషన్లను రూపొందించడానికి ఉపయోగించే క్రాస్-ప్లాట్ఫారమ్ భాష. C++ భాష స్థాపించబడిందిBjarne Stroustrup ద్వారా, అతను C భాషను రూపొందించడానికి కూడా బాధ్యత వహిస్తాడు. దాని పేరు వలె స్పష్టంగా, ఈ భాష C భాష యొక్క పొడిగింపు.
ఇది సిస్టమ్ వనరులు మరియు మెమరీపై అధిక నియంత్రణను కలిగి ఉండటానికి ప్రోగ్రామర్లను అనుమతిస్తుంది. ఇది ఇప్పటికే నవీకరించబడిందని మీరు అనుకోవచ్చు. అయినప్పటికీ, భాష 2011, 2014 మరియు 2017లో మూడుసార్లు నవీకరించబడింది. ఇది C++11, C++14, నుండి C++17కి మారింది.
ఈ రోజు వరకు, C++ భాష దాని ముఖ్యమైన పోర్టబిలిటీ కారణంగా చాలా బాగా ప్రశంసించబడింది, వివిధ ఆపరేటింగ్ సిస్టమ్లు లేదా ప్లాట్ఫారమ్లపై సమర్ధవంతంగా అమలు చేయగల ప్రోగ్రామ్లను అభివృద్ధి చేయడానికి సృష్టికర్తలను అనుమతిస్తుంది.
చాలా మంది C++ని ఎందుకు ఉపయోగిస్తున్నారు?
ఈ భాష ప్రబలంగా ఉంది ఎందుకంటే ఇది ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ లాంగ్వేజ్, ఇది ప్రోగ్రామ్లకు స్పష్టమైన నిర్మాణాన్ని అందిస్తుంది మరియు కోడ్ని మళ్లీ ఉపయోగించడాన్ని అనుమతించడం ద్వారా అభివృద్ధి ఖర్చులను తగ్గించడంలో సహాయపడుతుంది.
దీని అధిక పనితీరు కారణంగా, ఈ భాష గేమ్లు, డెస్క్టాప్ యాప్లు, బ్రౌజర్లు మరియు ఆపరేటింగ్ సిస్టమ్లను డెవలప్ చేయడానికి ఉపయోగించబడుతుంది. ఈ భాష యొక్క మరొక లక్షణం ఏమిటంటే ఇది పోర్టబుల్ మరియు బహుళ ప్లాట్ఫారమ్లకు అనుగుణంగా ఉండేలా అప్లికేషన్లను సృష్టించడానికి ఒకరిని అనుమతిస్తుంది.
ఇది నేర్చుకోవడానికి అత్యంత సవాలుగా ఉన్న భాషలలో ఒకటిగా తెలిసినప్పటికీ, దాని ప్రయోజనాలను కలిగి ఉంది. దాని బహుళ నమూనా భాష మరియు దాని విధులు మరింత అధునాతన వాక్యనిర్మాణం కారణంగా ఇతరులకన్నా అర్థం చేసుకోవడం చాలా సవాలుగా ఉంది.
మీరు C++ భాషను నేర్చుకోగలిగితే, అది నేర్చుకోవడం మరింత ఎక్కువ అవుతుందిదీని తర్వాత జావా మరియు పైథాన్ వంటి ఇతర ప్రోగ్రామింగ్ భాషలు.
సంక్షిప్తంగా, C++ అనేది సాధారణ-ప్రయోజనం, మధ్య-స్థాయి ప్రోగ్రామింగ్ భాష, ఇది “C శైలిలో” కోడ్ చేయడం సాధ్యం చేస్తుంది. కొన్ని సందర్భాల్లో, మీరు C++ని హైబ్రిడ్ లాంగ్వేజ్ కి ఉదాహరణగా చేస్తూ, రెండు ఫార్మాట్లలో కోడింగ్ చేయవచ్చు.
C మరియు C++ భాషల్లో శూన్య అక్షరం, శూన్య పాయింటర్ మరియు శూన్య ప్రకటన (సెమికోలన్ (;) ద్వారా సూచించబడుతుంది) ఉన్నాయి.
వాట్స్ ఎ శూన్యం ఇన్ C++?
శూన్య సున్నా విలువను కలిగి ఉండే అంతర్నిర్మిత స్థిరాంకంగా పరిగణించబడుతుంది. ఇది కంప్యూటర్ ప్రోగ్రామింగ్లో స్థిరం మరియు పాయింటర్ రెండూ.
డేటాబేస్లో ఉన్నప్పుడు, సున్నా అనేది ఒక విలువ. విలువ శూన్యత ఉనికిలో లేదని సూచిస్తుంది. శూన్యాన్ని విలువగా ఉపయోగించినప్పుడు, అది మెమరీ స్థానం కాదు.
అంతేకాకుండా, శూన్య అక్షరం లేకుండా, స్ట్రింగ్ సముచితంగా ముగించబడదు, ఇది అనేక సమస్యలకు దారి తీస్తుంది. శూన్య అక్షరం వివిధ ప్రోగ్రామింగ్ భాషల్లో అనేక విభిన్న ఉపయోగాలను కలిగి ఉంది.
C++లో మీరు Nullని ఎలా వ్రాస్తారు అనేది ప్రశ్న. సరే, శూన్య స్థిరాంకం పూర్ణాంకం రకాన్ని కలిగి ఉంటే, అది ఒక విధమైన విలువకు మార్చబడుతుంది.
ఉదాహరణకు, డేటాబేస్లో డేటా విలువ లేదని సూచించడానికి స్ట్రక్చర్డ్ క్వెరీ లాంగ్వేజ్ (SQL)లో ఈ అక్షరం, “శూన్య” ఉపయోగించబడుతుంది. రిలేషనల్ డేటాబేస్ అనేది నిర్దిష్ట కాలమ్లోని విలువ తెలియకపోతే లేదా తప్పిపోయినప్పుడు.
అంతేకాకుండా, C#లో,ప్రోగ్రామింగ్ లాంగ్వేజ్, నల్ అంటే "నో ఆబ్జెక్ట్". ఈ భాషలో, ఇది స్థిరమైన సున్నాకి సమానం కాదు.
అయితే C++ భాషలో, శూన్య అక్షరం అనేది ప్రత్యేకమైన రిజర్వ్ చేయబడిన పాయింటర్ విలువ, ఇది ఏదైనా చెల్లుబాటు అయ్యే డేటా ఆబ్జెక్ట్ని సూచించదు. అలాగే, C++ భాషలో, శూన్య విధులు పాయింటర్ వేరియబుల్స్కు విలువను కేటాయించడానికి ఒక మార్గం.
శూన్య మరియు సున్నా మధ్య భేదం
శూన్యం సున్నా విలువను కలిగి ఉన్నందున, శూన్య మరియు సున్నా మధ్య తేడా ఎలా ఉంటుందనే దానిపై ప్రజలు తరచుగా గందరగోళానికి గురవుతారు.
C++లోని శూన్యం కేవలం స్థూలంగా ఉంటుంది, ఇది శూన్య పాయింటర్ స్థిరాంకాన్ని నిర్వచిస్తుంది మరియు సాధారణంగా సున్నా విలువను కలిగి ఉంటుంది. అయినప్పటికీ, వేరియబుల్ ఎటువంటి బరువును కలిగి ఉండదని సూచించే ముఖ్యమైన విలువను నల్ మీకు అందిస్తుంది.
అయితే, జీరో అనేది ఒక విలువ, మరియు అది ఫ్లో సీక్వెన్స్ అంతటా అలాగే ఉంటుంది. మరో మాటలో చెప్పాలంటే, సున్నా అనేది సంఖ్య విలువ, శూన్యం అంటే ఖాళీ.
మీరు దీన్ని రిఫ్రిజిరేటర్ కోసం కేటాయించిన నిర్దిష్ట స్థలంగా భావించవచ్చు . ఫ్రిడ్జ్ ఉంది కానీ దానిలో ఏమీ లేకుంటే విలువ సున్నా. మరోవైపు, ఫ్రిజ్ కోసం కేటాయించిన స్థలంలో ఫ్రిడ్జ్ లేకుంటే, విలువ శూన్యం.
C++లో Nullptr అంటే ఏమిటి?
“Nullptr” కీవర్డ్ నల్ పాయింటర్ విలువను సూచిస్తుంది. ఆబ్జెక్ట్ హ్యాండిల్, ఇంటీరియర్ పాయింటర్ లేదా స్థానిక పాయింటర్ రకం వస్తువును సూచించదని సూచించడానికి మీరు శూన్య పాయింటర్ విలువను ఉపయోగిస్తారు.
పాయింటర్లు మాత్రమే మెమరీ స్థానాలను కలిగి ఉంటాయి మరియు విలువలు చేయలేవు.
మొదట, పాయింటర్ అంటే ఏమిటో మనం అర్థం చేసుకోవాలి. ఇది మెమరీ లొకేషన్ను కలిగి ఉండే వేరియబుల్.
శూన్య పాయింటర్ అనేది ఉద్దేశపూర్వకంగా ఏమీ లేదని సూచించే పాయింటర్. మీరు పాయింటర్కి కేటాయించే చిరునామా మీ వద్ద లేకుంటే, మీరు నల్ని ఉపయోగించవచ్చు. శూన్య విలువ పాయింటర్లను కలిగి ఉన్న అప్లికేషన్లలో మెమరీ లీక్లు మరియు క్రాష్లను నివారిస్తుంది.
అంతేకాకుండా, Nullptr కోసం తనిఖీ చేయడానికి, C++లో పాయింటర్ శూన్యంగా ఉందో లేదో తనిఖీ చేయడానికి మీరు పాయింటర్ విలువను షరతుగా ఉపయోగించవచ్చు. తార్కిక వ్యక్తీకరణలలో ఉపయోగించినప్పుడు, శూన్య పాయింటర్లు తప్పుగా మూల్యాంకనం చేయబడతాయి.
కాబట్టి, ఇచ్చిన పాయింటర్ను if స్టేట్మెంట్ కండిషన్లో ఉంచి అది శూన్యంగా ఉందో లేదో తనిఖీ చేయవచ్చు. సంక్షిప్తంగా, Nullptr అనేది పాయింటర్-రకం కీవర్డ్, ఇది సున్నా ని చిరునామాగా సూచిస్తుంది.
ఒక సాధారణ ప్రశ్న ఏమిటంటే, ఇప్పటికే శూన్య అక్షరం ఉన్నప్పుడు Nullptr ఎందుకు అవసరమవుతుంది. ఎందుకంటే, C++11లో, Nullptr ఒక శూన్య పాయింటర్ స్థిరాంకం, మరియు ఇది రకం భద్రతను మెరుగుపరుస్తుంది కాబట్టి ఇది అవసరం.
Null మరియు Nullptr ఒకేలా ఉన్నాయా?
సంఖ్య. వాళ్ళు కాదు. ముందుగా వారి తేడాలను తెలుసుకోవడానికి దిగువ ఈ పట్టికను చూడండి.
Nullptr | Null |
కీవర్డ్ సున్నా | సున్నా విలువ |
సున్నాని చిరునామాగా సూచిస్తుంది | విలువను సూచిస్తుంది పూర్ణాంకం |
కొత్త మరియు సూచించబడిన ఫంక్షన్ | పాతది మరియునిలిపివేయబడిన ఫంక్షన్ |
నిజమైన పాయింటర్ రకం | పూర్ణాంకానికి మారుపేరుగా అమలు చేయబడింది స్థిరమైన సున్నా |
శూన్యతను “మానిఫెస్ట్ స్థిరాంకం”గా పరిగణిస్తారు, అది వాస్తవానికి పూర్ణాంకం మరియు అవ్యక్త మార్పిడి కారణంగా పాయింటర్కు కేటాయించబడుతుంది.
అయితే Nullptr అనేది స్వీయ-నిర్వచించబడిన రకం విలువను సూచించే కీవర్డ్, మరియు ఇది పాయింటర్గా మార్చగలదు కానీ పూర్ణాంకాలుగా కాదు. Nullptr సాధారణంగా శూన్య పాయింటర్ మరియు ఎల్లప్పుడూ ఒకటిగా ఉంటుంది. మీరు దీన్ని పూర్ణాంకానికి కేటాయించడానికి ప్రయత్నిస్తే, అది లోపాలను కలిగిస్తుంది.
అప్పటికీ మీకు అర్థం కాకపోతే, ఈ వీడియోని చూడండి.
ఈ వీడియో స్ట్రీమర్తో పాటు మీరు ఏమి మరియు ఎప్పుడు ఉపయోగించాలో మరియు Null లేదా nullptr—కోడ్ని పూర్తిగా వివరిస్తుంది.
మీరు Nullకి బదులుగా Nullptrని ఉపయోగించవచ్చా?
అవును . అవి ఒకేలా లేనప్పటికీ, మీరు Nullకి బదులుగా Nullptrని ఉపయోగించడానికి ఒక మార్గం ఉంది.
అంతేకాకుండా, Nullptr అనేది C++లో కొత్త కీవర్డ్ని భర్తీ చేయగలదు. శూన్య. Nullptr ఖాళీ పాయింటర్ను సూచించే సురక్షిత రకం పాయింటర్ విలువను ఇస్తుంది.
కొందరు Nullని ఉపయోగించడం మానేసినప్పటికీ అది తగనిది , ఎందుకంటే చాలా మంది కోడర్లు Nullకి బదులుగా Nullptrని ఉపయోగించాలనే సూచనను అనుసరిస్తున్నందున ఇది చాలా తక్కువ సాధారణం.
అదనంగా, మీరు సూచనను ఉపయోగించే ముందు పాయింటర్ లేదా హ్యాండిల్ సూచన శూన్యంగా ఉందో లేదో పరీక్షించడానికి Nullptr కీవర్డ్ని ఉపయోగించవచ్చు.
మీరు Nullptr ను తిరస్కరించగలరా?
మీరు nullptrని తిరస్కరించవచ్చు. మీరు అలా చేస్తే, మీరు పాయింటర్ సూచించే చిరునామా వద్ద విలువను యాక్సెస్ చేయవచ్చు.
కంప్యూటర్ భాషలలో, పాయింటర్ ద్వారా సూచించబడిన మెమరీ లొకేషన్లో ఉన్న డేటాను యాక్సెస్ చేయడానికి లేదా మార్చడానికి డిఫరెన్సింగ్ ఉపయోగించబడుతుంది.
అయితే, మీరు దీన్ని C భాషలో చేయలేరు . ఒక శూన్య పాయింటర్ అర్థవంతమైన వస్తువును సూచించదు, ఇది నిల్వ చేయబడిన డేటాను యాక్సెస్ చేయడాన్ని తగ్గించే ప్రయత్నం. నల్ పాయింటర్ సాధారణంగా రన్-టైమ్ ఎర్రర్ లేదా తక్షణ ప్రోగ్రామ్ క్రాష్కు దారి తీస్తుంది.
కంప్యూటర్ ప్రోగ్రామింగ్లో, పాయింటర్ వేరియబుల్పై పనిచేసేది డెరిఫరెన్స్ ఆపరేటర్. ఇది వేరియబుల్ విలువ ద్వారా చూపబడిన మెమరీలోని స్థాన విలువను అందిస్తుంది. C++ ప్రోగ్రామింగ్ లాంగ్వేజ్లో, డిఫరెన్స్ ఆపరేట్ చేయబడినది నక్షత్రం (*)తో సూచించబడుతుంది.
తుది ఆలోచనలు
ఒకరు శూన్యతను సున్నా పాయింటర్కు అందించే స్థూలంగా నిర్వచించవచ్చు, అంటే ఆ వేరియబుల్కు చిరునామా లేదు. నల్ అనేది C భాషలోని పాత మాక్రో C++కి పంపబడింది.
అదే సమయంలో, Nullptr అనేది C++11లో పరిచయం చేయబడిన కొత్త వెర్షన్ మరియు ఇది నల్కి ప్రత్యామ్నాయంగా ఉద్దేశించబడింది.
కాబట్టి, ఈరోజు, మీరు గతంలో లేదా ఈ రచనలో కూడా Nullని ఉపయోగించే ప్రదేశాలలో Nullptrని ఉపయోగించడం ప్రారంభించాలని సిఫార్సు చేయబడింది.
ఇది కూడ చూడు: IPS మానిటర్ మరియు LED మానిటర్ మధ్య తేడా ఏమిటి (వివరమైన పోలిక) - అన్ని తేడాలుఈ కథనం యొక్క సంక్షిప్త సంస్కరణను వీక్షించడానికి ఇక్కడ క్లిక్ చేయండి.