I denne artikkelen skal vi løse den udefinerte strengen på effektive måter støttet av C ++ programmeringsspråket. Å forstå udefinerte streng unntak som en C ++ -programmerer er avgjørende for effektiv koding og programytelse, spesielt når C ++ -koder er integrert med systemarkitektur.
Tilnærmingen for å fikse "strengen er udefinert" feil i C++
Hvis du er ny på programmeringsspråket C ++, kan du møte feil som C ++ -strengen er udefinert. I C ++ har vi to måter å løse feilen for en udefinert streng.
Eksempel 1
Her i vårt første eksempel skal vi vise hvordan C ++ -kompilatoren kaster en feilfeil er udefinert. I begynnelsen av programmet vårt importerte vi et bibliotek som heter “IOSTREAM”. Iostream er en overskriftsfil i C ++ som spesifiserer en samling av standardinngangs- og utgangsfunksjoner. Den inneholder også I/O -strømobjekter som Cin, Cout, Clog og så videre. Cout brukes til å vise utdataene "Enter Your Name".
Etter denne linjen har vi CIN -kommandoen som tar inngangen fra brukeren for strengen “Namestr”. Gjennom cout -kommandoen vises utgangen og inngangen. “Return 0” som brukes på slutten av hovedfunksjonen, utfører funksjonen vellykket.
#inkludere
int main ()
streng Namestr;
cout << "Enter your name "NameStr;
cout << "Your Name : " << NameStr << endl;
retur 0;
Du kan merke deg at samlingen av programmet ovenfor gir en feil på denne måten, og også foreslår måten å erklære streng i hovedfunksjonen. Vi har et uventet resultat fra utførelsen ovenfor.
Eksempel 2
Illustrasjonsprogrammet ovenfor kaster strengen udefinert feil. Nå må vi løse feilen i strengen som ikke er definert ved å bruke navneområdet STD i overskriften Fil -delen. Vi har tatt med iostream -filen i programmet C++. Under Iostream -filen har vi tatt med "namespace std" -filen med nøkkelordet "Bruker". Navnområdet STD vil hjelpe oss med å overvinne den udefinerte feilen. Deretter opprettet vi to navneområder “Integer” og “Double”.
I blokken av "heltall" -navnet har vi erklært to variabler "a" og "b" av typen heltall og initialisert dem med de numeriske verdiene. Vi har gjort det samme i blokken av "dobbelt" navneområde, men typen som brukes er dobbelt. Merk at vi har definert variabler med de samme navnene “A” og “B” i begge navnefeltet. Dette er egenskapen til navneområdet som lar oss erklære variabler og funksjoner med samme navn.
Deretter har vi hovedfunksjonen som får tilgang til variablene i navneområdet ved å bruke omfangsoppløsningsoperatøren. Gjennom COUT -kommandoen vil vi vise verdien av variabel “A” fra “heltall” navneområdet og verdien av variabel “B” fra “dobbelt” navneområdet.
#inkludere
ved hjelp av navneområdet STD;
Navneområde Heltall
int a = 2;
int b = 8;
Navnområde dobbelt
Dobbelt A = 1.888;
Dobbelt B = 2.745;
int main ()
Bruker heltall :: a;
bruker dobbel :: b;
cout << "a="<< a << endl;
cout << "b="<< b << endl;
cout << "Integer="<< Integer::a << endl;
cout << "Double="<< Double::b << endl;
retur 0;
Vi har fått et forventet resultat ved å bruke navneområdet STD i overskriftsfil -delen av programmet ovenfor.
Eksempel 3:
Vi har en annen måte å bli kvitt den udefinerte feilen, som bruker STD med omfangsoppløsningsoperatøren når du definerer variabelen til typen streng. I programmet nedenfor har vi importert to standardfiler “Iostream” og “String” som samlet koden pent. Hovedfunksjonen er definert og hovedfunksjonsorganet har std cout -kommandoen først med omfangsoppløsningsoperatøren. Det brukes til å vise utdataene.
Deretter har vi brukt STD med omfangsoppløsningsoperatøren for strengvariabelen. Det vil forhindre feilen i strengen som er udefinert i programmet. STD CIN -kommandoen vil få verdien fra brukeren, og den siste linjen har Std Cout -kommandoen som brukes til å vise utdata og verdier som brukes til å ha lagt inn.
#inkludere
#inkludere
int main ()
std :: cout reg_no;
std :: cout grad;
std :: cout <<"Your Registartion Number is" << Reg_No << "and Your Degree is " << Degree << '\n';
retur 0;
STD :: String -tilnærmingen forhindrer feilen at strengen er udefinert. Utfallet vises på konsollskjermen til Ubuntu.
Eksempel 4
I stedet for å bruke STD med omfangsoppløsning med hver variabel, funksjon eller kommando; Vi kan inkludere STD med omfangsoppløsningsoperatør ved å definere den i overskriftsdelen med nøkkelordet "Bruke". Som du kan se, har vi en STD :: String -setning etter å ha importert standardfilen i C ++.
Deretter har vi en strengfunksjon og i konstruktøren av denne funksjonen har vi gitt strengreferansen “& ST”. I strengfunksjonsblokken har vi definert en "rbegin" -metode for å snu strengen og en "Rend" -metode for å returnere den motsatte enden av den spesifiserte strengen. Etter det har vi hovedfunksjonen der strengvariabelen er definert og initialisert.
#inkludere
#inkludere
#inkludere
bruker std :: cout; bruker std :: endl;
bruker std :: streng; bruker std :: revers;
String revstr (String & st)
String omvendt (ST.rbegin (), St.Rend ());
Returner omvendt;
int main ()
String myString = "Reverse the String";
cout << MyString << endl;
cout << RevStr(MyString) << endl;
retur 0;
Vi kan forhindre strengen udefinert feil på denne måten også. Vi trenger ikke å skrive en STD -uttalelse med hver strengdeklarasjon i koden. Vi kan definere det i toppseksjonen bare en gang. Resultatene vises i følgende bilde.
Konklusjon
Nå ble vi kjent med hvordan vi kan eliminere strengen udefinert feil i C++. Vi har gått gjennom den sannsynlige årsaken til feilen med det løpende eksemplet i artikkelen. Vi undersøkte programmet som ikke brukte navneområdet STD og STD :: String, og bestemte hvor viktig disse er i C ++ -kode. Disse tilnærmingene vil sikkert hjelpe programmerere med å unngå strengen udefinert feil.