C++ toetab mitut unaarset operaatorit, millest igaüks teenib muutujatega manipuleerimisel ainulaadset eesmärki. Alustame suurendamise ja vähendamise operaatoritega, mida tavaliselt kasutatakse tsüklites ja erinevates algoritmides.
Näide 1: suurendamise (++) ja vähendamise (–) operaatorid
Inkrement (++) ja dekrement (–) ühearvulised operaatorid on C++ põhitööriistad muutuja väärtuse muutmiseks, suurendades või vähendades seda vastavalt 1 võrra. Kasvamisoperaator (++) lisab muutuja väärtusele 1, samas kui kahandamisoperaator (–) lahutab 1. Neid operaatoreid saab rakendada täisarvu-, ujukoma- ja kursorimuutujatele, pakkudes nende kasutamisel paindlikkust.
Uurime neid operaatoreid praktilise näite kaudu:
#include
kasutades nimeruum std ;
int peamine ( )
{
int loendur = 0 ;
// Kasvamisoperaator
cout << 'Algne väärtus: ' << loendur << endl ;
loendur ++ ;
cout << 'Väärtus pärast juurdekasvu:' << loendur << endl ;
// Vähenda operaatorit
loendur -- ;
cout << 'Väärtus pärast vähendamist:' << loendur << endl ;
tagasi 0 ;
}
See lihtne C++ programm sisaldab vajalikku sisend-/väljundvoo teeki koos '#include
Pärast seda toimingut kuvatakse loenduri värskendatud väärtus teise lausega 'cout'. Seejärel kasutame kahandamisoperaatorit (loendur—), et vähendada loenduri väärtust 1 võrra. Tulemus kuvatakse seejärel konsoolil. Lõppkokkuvõttes lõpeb programm 'tagasi 0;' avaldus, mis näitab edukat täitmist.
Väljundpilt näitab algväärtust, väärtust pärast juurdekasvu ja vähendatud väärtust.
Näide 2: positiivsed (+) ja negatiivsed (-) operaatorid
Kui positiivset unaarset operaatorit kasutatakse harva, siis negatiivne operaator on muutuja märgi muutmisel põhiline.
#includeKasutades nimeruum std ;
int peamine ( ) {
int positiivneVäärtus = 10 ;
int negatiivneVäärtus = - positiivneVäärtus ;
cout << 'Positiivne väärtus:' << positiivneVäärtus << endl ;
cout << 'Negatiivne väärtus: ' << negatiivneVäärtus << endl ;
tagasi 0 ;
}
Initsialiseerime selle näitekoodi jaoks kaks täisarvu muutujat, mis on 'positiveValue' ja 'negativeValue'. 'PositiveValue' on määratud väärtusega 10. Seejärel deklareerime 'negativeValue' ja omistame selle 'positiivseVäärtuse' eitusega, kasutades operaatorit unaarmiinus. See operaator muudab tõhusalt algväärtuse märki. Seejärel kasutame lauset 'cout', et kuvada konsoolil nii positiivset kui ka negatiivset väljundit. Lõpuks tagastab programm 0, mis näitab põhifunktsiooni edukat lõpetamist.
Käivitamisel väljastab see programm positiivsed ja negatiivsed väärtused.
Näide 3: Loogiline EI (!) Operaator
Unaarne operaator keeles C++, mida tähistatakse tähega '!' sümbolit tuntakse loogilise NOT-operaatorina. See on mõeldud antud avaldise tõeväärtuse ümberpööramiseks. See töötab ühe operandiga, mis on tavaliselt loogiline avaldis või tingimus. Loogiline tehe NOT annab tulemuse 'tõene', kui operandi väärtus on 'väär' ja 'vale', kui operand on 'tõene'.
Siin on lihtne näide, mis demonstreerib loogilise operaatori NOT kasutamist:
#includekasutades nimeruum std ;
int peamine ( ) {
bool on tõsi = tõsi ;
bool on Vale = vale ;
bool tulemusEi ole tõene = ! on tõsi ;
bool tulemusMitteVale = ! on Vale ;
cout << 'Algne väärtus:' << on tõsi << ', Pärast MITTE: ' << tulemusEi ole tõene << endl ;
cout << 'Algne väärtus:' << on Vale << ', Pärast MITTE: ' << tulemusMitteVale << endl ;
tagasi 0 ;
}
Selles näites deklareerime kaks Boole'i muutujat, 'isTrue' ja 'isFalse'. Seejärel rakendame igale muutujale loogilist operaatorit NOT, salvestades tulemused vastavalt 'resultNotTrue' ja 'resultNotFalse'. Seejärel prindib programm mõlema muutuja algväärtused ja loogilise EI-operatsiooni tulemused.
Selle programmi käivitamisel märkame, et loogiline operaator NOT pöörab 'isTrue' tõeväärtuse (algselt seatud tõeseks), muutes selle valeks. Samamoodi pöörab see ümber „isFalse” (algselt väär) tõeväärtuse, andes tulemuseks tõese.
Väljund illustreerib selgelt tõeväärtuste ümberpööramist, mis saavutatakse loogilise operaatoriga NOT.
Näide 4: Bitipõhine EI (~) Operaator
Bititegur NOT (~) C++-s on unaarne operaator, mis teostab oma operandi iga biti bitipõhise eituse. See toimib põhiandmetüüpidega, eriti integraalsete andmetüüpidega, näiteks täisarvudega. Tulemus saavutatakse iga üksiku biti inverteerimisega operandis, teisendades 0-d 1-deks ja 1-sid 0-deks.
Selle kasutamise illustreerimiseks vaadake järgmist koodilõiku:
#includekasutades nimeruum std ;
int peamine ( ) {
int originaalVäärtus = 5 ;
int tulemusBittipõhiseltMitte = ~originalValue ;
cout << 'Algne väärtus:' << originaalVäärtus << ', Bitwise järel EI: ' << tulemusBittipõhiseltMitte << endl ;
tagasi 0 ;
}
Selles näites deklareerime täisarvu muutuja 'originalValue' väärtusega '5'. Järgmisena kasutame selle muutuja puhul bitipõhist operaatorit NOT (~). Selle muutuja tulemus salvestatakse kaustas 'resultBitwiseNot'. Seejärel prindib programm algväärtuse ja tulemuse pärast biti kaupa NOT operatsiooni, kasutades lauset “cout”.
Kui me seda programmi käivitame, näeme, et bitisuunaline operaator NOT inverteerib iga „originalValue” binaarse esituse biti, mille tulemuseks on uus väärtus.
Näide 5: Aadressi ja suunamise operaatorid
Operaatori aadressi, mida tähistatakse sümboliga '&', eesmärk on hankida muutuja mäluasukoht. See tagastab muutujale osuti, mis võimaldab selle väärtusele kaudse juurdepääsu. Kaudse suunamise või viitamise eemaldamise operaator (*) hangib väärtuse, mis on salvestatud kursoriga määratud mälukohta. See annab võimaluse töötada tegelike andmetega kursori kaudu kaudselt.
Mõistame kontseptsiooni näite abil:
#includekasutades nimeruum std ;
int peamine ( ) {
int väärtus = 99 ;
cout << 'Algne väärtus:' << väärtus << endl ;
int * ptr = & väärtus ;
cout << 'Mälu aadress:' << ptr << endl ;
int retrievedValue = * ptr ;
cout << 'Retrieved Value:' << retrievedValue << endl ;
tagasi 0 ;
}
See kood illustreerib aadressi- ja kaudsete operaatorite kasutamist. Esiteks initsialiseeritakse täisarv muutuja nimega 'value' väärtusega 99. Seejärel väljastatakse konsooli algne väärtus 'value'. Seejärel deklareeritakse 'ptr' osutimuutuja ja operaatori aadressi (&) kasutatakse 'value' mäluaadressi määramiseks 'ptr'-le. Seejärel väljastab programm selle mäluaadressi, näidates operaatori 'aadress' põhitoiminguid.
Pärast seda deklareeritakse uus täisarv muutuja, mille nimi on 'retrievedValue' ja kaudoperaatorit (*) kasutatakse väärtuse hankimiseks, mis on salvestatud mäluaadressile, millele osutab 'ptr'. Seejärel väljastatakse saadud väärtus konsooli.
Järeldus
See artikkel pakub põhjalikku uurimist C++ unaarsete operaatorite kohta. Alustuseks kategoriseerisime unaarsed operaatorid eri tüüpidesse, sealhulgas aritmeetilised, loogilised, bitipõhised ning aadressi ja kaudsusega seotud operaatorid. Nende operaatorite kasuliku kasutamise demonstreerimiseks toodi näiteid reaalsetest olukordadest. Need operaatorid mängivad C++ programmeerimises keskset rolli, mis võimaldab arendajatel osutitega tõhusalt töötada ja mälu hallata.