Kas ir nullptr programmā C++

Kas Ir Nullptr Programma C



Programmā C++ noteikta rādītāja vērtība, ko sauc par a nulles rādītājs tiek izmantots, lai norādītu, ka rādītājs nenorāda uz nevienu derīgu atmiņas vietu. C++11 standartā vai jaunākā versijā to apzīmē ar atslēgvārdu “ nullptr ” vai ar nemainīgu vērtību 0.

The nulles rādītājs ideja ir ļoti svarīga, jo tā palīdz novērst kļūdainu piekļuvi atmiņai, kas var izraisīt neparedzētas izpildlaika kļūdas un programmatūras kļūmes. Apsveriet situāciju, kad programma mēģina lasīt no atmiņas adreses vai rakstīt uz to, kas nav izveidota vai jau ir atbrīvota. Šī uzvedība nav definējama programmā C++, un tā var izraisīt nopietnas izpildlaika problēmas vai drošības nepilnības. Rādītājs ir nederīgs, un no tā nevajadzētu atsaukt atsauci, ja tā ir saistīta ar nulles vērtību. Programmas pārtraukšana, segmentācijas kļūdas vai nesankcionēta piekļuve atmiņai ir tikai daži neparedzētas darbības piemēri, kas var notikt, atceļot atsauci uz nulles rādītājs .

Nullptr piemērs programmā C++

#include
izmantojot nosaukumvieta std ;
starpt galvenais ( )
{
nullptr_t pi1, pi2 ;
ja ( pi1 >= pi2 )
{
cout << 'Rādītājs 1 ir lielāks par rādītāja 2 vērtību' << endl ;
}
cits
{
cout << 'Rādītājs 2 ir lielāks par rādītāja 1 vērtību' << endl ;
}
char * ch = pi1 ;
ja ( ch == nullptr )
cout << 'Ch rādītāja mainīgajam ir nulles vērtība ar 0. adreses atsauci' << endl ;
cits
cout << 'ch rādītāja mainīgais nav nulles vērtība, tam ir kāda vērtība ar adreses atsauci' << endl ;
atgriezties 0 ;
}

Iepriekš minētajā kodā mēs izmantojam divus nullptrs un salīdzināt tos savā starpā. Pēc tam mēs izmantojam rakstzīmju rādītāju, lai apstiprinātu nullptr .







Izvade



Iemesli nullptr izmantošanai programmā C++

Null norādes Tos bieži izmanto C++ programmēšanā vairāku iemeslu dēļ:



1: Norādītāju inicializācija

Kad rādītāja mainīgais ir deklarēts, tas vienmēr ir jāinicializē ar derīgu atmiņas vietu vai a nulles rādītājs . Kad rādītājam piekļūst vēlāk kodā, tas palīdz novērst nedeklarētu darbību.





2: kļūdas kods

Funkcijas var atgriezties nulles norādes kā kļūdu kodus, lai parādītu, ka viņi nevarēja pabeigt norādīto darbību vai piešķirt atmiņu.

3: rādītāja derīguma pārbaude

Rādītāja derīguma pārbaude pirms atsauces atcelšanas vienmēr ir gudra ideja. Tas palielina koda noturību un palīdz novērst neparedzētas izpildlaika kļūmes.



4: polimorfisms

Programmā C++ bāzes klases norādes, kas nenorāda uz atvasināto klašu objektiem, tiek attēlotas kā nulles norādes . To parasti izmanto polimorfā programmēšanā, lai apstrādātu uz objektu orientētus līdzekļus, piemēram, mantojumu un virtuālās funkcijas.

Null norādes nevajadzētu jaukt ar nokareniem vai neinicializētiem rādītājiem, ir svarīgi to atcerēties. Neinicializētas norādes var norādīt uz jebkuru adresi atmiņā, jo tās nav inicializētas ar vērtību. No otras puses, karājas norādes ir tās, kas attiecas uz nederīgiem vai jau atdalītiem atmiņas reģioniem. Programmēšanā C++ gan piekārtie, gan neinicializētie rādītāji var izraisīt izpildlaika problēmas.

Nullptr izmantošanas priekšrocības programmā C++

A izmantošanai ir vairākas priekšrocības nullptr .

1: Drošība

Jo nullptr ir drošāka tipam nekā NULL, tā vietā jāizmanto. Lai gan NULL ir vienkārši definēts kā vesela skaitļa konstante ar nulles vērtību, nullptr ir rādītāja literāls, ko var pārveidot tikai par rādītāja veidu, nevis uz kādu citu veidu.

2: lietojamība

Programmēšanā C++ ir daudz veidu, kā izmantot nulles rādītājs . Lai inicializētu norādes, nosūtiet parametrus uz funkciju izsaukumiem vai atgriežat rādītāju vērtības no funkcijām, piemēram, daži no tā iespējamiem lietojumiem. To var arī izmantot, lai noteiktu, vai funkcijas izsaukums vai darbība ir devusi likumīgu rādītāja vērtību.

3: Dinamiskā atmiņas piešķiršana

Dinamiskā atmiņas piešķiršana ir viens no populārākajiem a nulles rādītājs . Izmantojot jauno operatoru C++, tiek veikta dinamiska atmiņas piešķiršana. Izsaucot jauno metodi, tiek atgriezts rādītājs uz tikko ģenerēto objektu. Ja piešķiršana neizdodas kāda iemesla dēļ, piemēram, ja nav pietiekami daudz atmiņas, NULL tiek nosūtīts atpakaļ. Līdz ar to pirms rādītāja izmantošanas ir ļoti svarīgi pārbaudīt atgriezto vērtību, lai pārliecinātos, ka piešķiršana bija veiksmīga.

Secinājums

The nulles rādītājs ir C++ programmēšanas galvenā ideja, kas nodrošina mehānismu, kas parāda, ka atmiņā trūkst adreses. Izstrādātāji var novērst programmatūras avārijas un citas problēmas, izmantojot nulles norādes lai nodrošinātu, ka viņu lietojumprogrammas nemēģina piekļūt kļūdainām atmiņas adresēm. Tāpēc programmētājiem ir svarīgi saprast, kā to izdarīt nulles norādes būtu jāizmanto un jādara efektīvi savās programmās.