Kas yra nullptr C++

Kas Yra Nullptr C



C++ kalboje konkreti rodyklės reikšmė vadinama a nulinis rodyklė naudojamas norint nurodyti, kad rodyklė nenurodo jokios galiojančios atminties vietos. C++11 standarte ar naujesnėje versijoje jis vaizduojamas raktiniu žodžiu „ nullptr “ arba pastovia 0 verte.

The nulinis rodyklė idėja yra labai svarbi, nes ji padeda išvengti klaidingų atminties prieigos, dėl kurios gali atsirasti netikėtų vykdymo klaidų ir programinės įrangos gedimų. Apsvarstykite scenarijų, kai programa bando nuskaityti iš atminties adreso, kuris nebuvo sukurtas arba jau buvo panaikintas, arba į jį rašyti. Toks elgesys neapibrėžiamas C++ ir gali sukelti rimtų vykdymo problemų arba saugos trūkumų. Rodyklė yra neteisinga ir neturėtų būti nukreipta į ją, jei ji susieja su nuline verte. Programos nutraukimas, segmentavimo gedimai arba neteisėtos prieigos prie atminties yra tik keli netikėtos elgsenos, kuri gali nutikti atšaukiant nuorodą nulinis rodyklė .

Nulptr pavyzdys C++

#include
naudojant vardų erdvė std ;
tarpt pagrindinis ( )
{
nullptr_t pi1, pi2 ;
jeigu ( pi1 >= pi2 )
{
cout << '1 rodyklė yra didesnė už 2 rodyklės reikšmę' << endl ;
}
Kitas
{
cout << '2 rodyklė yra didesnė už 1 žymeklio reikšmę' << endl ;
}
char * sk = pi1 ;
jeigu ( sk == nullptr )
cout << 'Ch rodyklės kintamasis turi nulinę reikšmę su 0-ojo adreso nuoroda' << endl ;
Kitas
cout << 'Ch rodyklės kintamasis nėra nulinė reikšmė, jis turi tam tikrą reikšmę su adreso nuoroda' << endl ;
grąžinti 0 ;
}

Aukščiau pateiktame kode mes naudojame du nullptrs ir lyginant juos tarpusavyje. Tada mes naudojame simbolio žymeklį, kad patvirtintume nullptr .







Išvestis



Priežastys naudoti nullptr C++

Nulinės rodyklės dažnai naudojami C++ programavimui dėl kelių priežasčių:



1: inicijuojamos rodyklės

Kai deklaruojamas žymeklio kintamasis, jis visada turi būti inicijuotas tinkama atminties vieta arba a nulinis rodyklė . Kai žymeklis pasiekiamas vėliau kode, tai padeda išvengti nedeklaruoto elgesio.





2: klaidos kodas

Funkcijos gali grįžti nulinės rodyklės kaip klaidų kodus, rodančius, kad jie negalėjo atlikti nurodyto veiksmo arba skirti atminties.

3: Rodyklės galiojimo patikrinimas

Patikrinti rodyklės galiojimą prieš panaikinant nuorodą visada yra protinga idėja. Tai padidina kodo tvirtumą ir padeda išvengti netikėtų vykdymo laiko gedimų.



4: Polimorfizmas

C++ kalboje bazinės klasės rodyklės, kurios nenurodo į jokius išvestinių klasių objektus, vaizduojamos kaip nulinės rodyklės . Tai paprastai naudojama polimorfiniame programavime, kad būtų galima valdyti objektus orientuotas funkcijas, tokias kaip paveldėjimas ir virtualios funkcijos.

Nulinės rodyklės neturėtų būti painiojama su kabančiomis arba neinicializuotomis rodyklėmis, labai svarbu tai atsiminti. Neinicializuoti rodyklės gali nurodyti bet kurį adresą atmintyje, nes jie nebuvo inicijuoti su reikšme. Kita vertus, kabantys rodyklės yra tos, kurios nurodo netinkamus arba jau paskirstytus atminties regionus. Programuojant C++, kabantys rodyklės ir neinicializuoti rodyklės gali sukelti vykdymo problemų.

Nulptr naudojimo C++ privalumai

Yra keletas privalumų naudojant a nullptr .

1: sauga

Nes nullptr yra saugesnio tipo nei NULL, jis turėtų būti naudojamas vietoje jo. Nors NULL tiesiog apibrėžiamas kaip sveikojo skaičiaus konstanta, kurios reikšmė yra nulis, nullptr yra žymeklio raidė, kurią galima paversti tik žymeklio tipu, o ne jokiu kitu tipu.

2: Naudojamumas

Programuojant C++, yra daug būdų, kaip naudoti nulinis rodyklė . Norėdami inicijuoti rodykles, siųskite parametrus funkcijų iškvietimams arba grąžinkite rodyklės reikšmes iš funkcijų, pavyzdžiui, yra keletas galimų jo naudojimo būdų. Jis taip pat gali būti naudojamas norint nustatyti, ar funkcijos iškvietimas arba veiksmas davė teisėtą rodyklės reikšmę.

3: Dinaminis atminties paskirstymas

Dinaminis atminties paskirstymas yra vienas iš populiariausių a nulinis rodyklė . Naudojant naują operatorių C++, dinaminis atminties paskirstymas yra atliktas. Iškvietus naują metodą, grąžinamas žymeklis į naujai sugeneruotą objektą. Jei paskirstymas nepavyksta dėl kokios nors priežasties, pvz., nepakanka atminties, NULL siunčiama atgal. Todėl prieš naudojant žymeklį labai svarbu patikrinti grąžinamąją vertę, kad įsitikintumėte, jog paskirstymas buvo sėkmingas.

Išvada

The nulinis rodyklė yra pagrindinė C++ programavimo idėja, kuri suteikia mechanizmą, rodantį, kad atmintyje trūksta adreso. Kūrėjai gali užkirsti kelią programinės įrangos gedimams ir kitoms problemoms naudodami nulinės rodyklės kad jų programos nebandytų pasiekti klaidingų atminties adresų. Taigi, programuotojams labai svarbu suprasti, kaip tai padaryti nulinės rodyklės turėtų būti naudojami ir tai padaryti efektyviai savo programose.