Unaarne operaator keeles C++

Unaarne Operaator Keeles C



C++-s on unaarne operaator operaator, mis töötab ainult ühe operandiga. Unaarsed operaatorid mängivad C++-s üliolulist rolli, võimaldades manipuleerida ainsuse muutuja või avaldisega seotud väärtusega. Neid mitmekülgseid operaatoreid saab kasutada erinevates kontekstides, nagu muutuja suurendamine või vähendamine, arvväärtuse märgi muutmine või loogilise eituse sooritamine. See artikkel uurib C++ unaarseid operaatoreid, hõlmates nende tüüpe ja rakendusi ning pakkudes parema arusaamise jaoks mitmeid näiteid.

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 '. Funktsioonis “main()” loome täisarvulise muutuja nimega “counter” ja omistame sellele algväärtuse 0. Kasutades lauset “cout”, trükime konsooli loenduri algväärtuse, esitades meie meeleavalduse lähtepunkt. Edasi liikudes kasutatakse juurdekasvuoperaatorit (loendur++), et tõsta loenduri muutuja väärtust 1 võrra.



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.

#include
Kasutades 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:

#include
kasutades 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:

#include
kasutades 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:

#include
kasutades 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.