Unarni operator v C++

Unarni Operator V C



V C++ je unarni operator operator, ki deluje samo na enem operandu. Unarni operaterji igrajo ključno vlogo v C++, saj omogočajo manipulacijo vrednosti, povezane z enojno spremenljivko ali izrazom. Te vsestranske operatorje je mogoče uporabiti v različnih kontekstih, kot je povečanje ali zmanjšanje spremenljivke, spreminjanje predznaka številske vrednosti ali izvajanje logične negacije. Ta članek raziskuje unarne operatorje v C++ tako, da pokriva njihove vrste in aplikacije ter nudi številne primere za boljše razumevanje.

C++ podpira več unarnih operatorjev, od katerih vsak služi edinstvenemu namenu pri manipulaciji spremenljivk. Začnimo z operatorji inkrementa in dekrementa, ki se običajno uporabljajo v zankah in različnih algoritmih.

Primer 1: Operatorja povečanja (++) in zmanjšanja (–).

Unarni operatorji povečanja (++) in zmanjšanja (–) sta temeljni orodji v C++ za spreminjanje vrednosti spremenljivke tako, da jo povečate ali zmanjšate za 1. Operator povečanja (++) doda 1 vrednosti spremenljivke, medtem ko operator zmanjšanja (–) odšteje 1. Te operatorje je mogoče uporabiti za spremenljivke celih števil, plavajočo vejico in kazalec, kar zagotavlja prilagodljivost pri njihovi uporabi.







Raziščimo te operaterje s praktičnim primerom:



#include
uporabo imenski prostor std ;

int glavni ( )
{

int števec = 0 ;

// Operator povečanja
cout << 'Začetna vrednost:' << števec << konec ;

števec ++ ;
cout << 'Vrednost po povečanju: ' << števec << konec ;

// Operator zmanjšanja
števec -- ;
cout << 'Vrednost po zmanjšanju: ' << števec << konec ;

vrnitev 0 ;
}

Ta preprost program C++ vključuje potrebno knjižnico vhodnih/izhodnih tokov z “#include ”. Znotraj funkcije “main()” instanciramo celoštevilsko spremenljivko, imenovano “counter” in ji dodelimo začetno vrednost 0. Z uporabo stavka “cout” natisnemo začetno vrednost “counter” na konzolo, kar zagotavlja osnova za našo predstavitev. Če se premaknemo naprej, se uporabi operator povečanja (števec++) za dvig vrednosti spremenljivke »števec« za 1.



Po tej operaciji se posodobljena vrednost »counter« prikaže z uporabo drugega stavka »cout«. Nato uporabimo operater dekrementiranja (števec—), da zmanjšamo vrednost »števca« za 1. Rezultat se nato prikaže na konzoli. Na koncu se program zaključi z 'vrni 0;' stavek, ki nakazuje uspešno izvedbo.





Izhodna slika prikazuje začetno vrednost, vrednost po povečanju in zmanjšano vrednost.



Primer 2: Pozitivni (+) in Negativni (-) operatorji

Medtem ko se pozitivni unarni operator redko uporablja, je negativni operator temeljnega pomena za spreminjanje predznaka spremenljivke.

#include
Uporaba imenski prostor std ;

int glavni ( ) {
int positiveValue = 10 ;
int negativeValue = - positiveValue ;

cout << 'Pozitivna vrednost:' << positiveValue << konec ;
cout << 'Negativna vrednost:' << negativeValue << konec ;

vrnitev 0 ;
}

Za ta primer kode inicializiramo dve celoštevilski spremenljivki, ki sta »positiveValue« in »negativeValue«. »PositiveValue« je dodeljena z vrednostjo 10. Nato deklariramo »negativeValue« in jo dodelimo z negacijo »positiveValue« z uporabo unarnega operatorja minus. Ta operator dejansko spremeni predznak prvotne vrednosti. Nato uporabimo stavek 'cout', da na konzoli prikažemo tako pozitivne kot tudi negativne rezultate. Nazadnje program vrne 0, kar pomeni uspešno dokončanje glavne funkcije.

Ko se ta program izvede, prikaže pozitivne in negativne vrednosti.

Primer 3: Logični operator NE (!).

Unarni operator v C++, označen z '!' simbol, je znan kot logični operator NE. Zasnovan je tako, da obrne resničnostno vrednost danega izraza. Deluje na enem samem operandu, ki je običajno logični izraz ali pogoj. Logična operacija NE daje rezultat »true«, ko je operand »false«, in daje rezultat »false«, ko je operand »true«.

Tukaj je preprost primer, ki prikazuje uporabo logičnega operatorja NE:

#include
uporabo imenski prostor std ;

int glavni ( ) {
bool je Res = prav ;
bool je False = lažno ;

bool resultNotTrue = ! je Res ;
bool rezultatNotFalse = ! je False ;

cout << 'Izvirna vrednost: ' << je Res << ', za NE: ' << resultNotTrue << konec ;
cout << 'Izvirna vrednost: ' << je False << ', za NE: ' << rezultatNotFalse << konec ;

vrnitev 0 ;
}

V tem primeru deklariramo dve logični spremenljivki, 'isTrue' in 'isFalse'. Nato uporabimo logični operator NOT za vsako spremenljivko in shranimo rezultate v »resultNotTrue« oziroma »resultNotFalse«. Program nato natisne izvirne vrednosti in rezultate logične operacije NE za obe spremenljivki.

Po izvajanju tega programa bomo opazili, da logični operator NOT obrne resničnostno vrednost »isTrue« (prvotno nastavljeno na true), zaradi česar je napačna. Podobno obrne resničnostno vrednost »isFalse« (prvotno false), pri čemer dobi true.

Izhod jasno ponazarja inverzijo resničnih vrednosti, ki jih doseže logični operator NE.

Primer 4: bitni operator NE (~).

Bitni operator NOT (~) v C++ je unarni operator, ki izvede bitno negacijo vsakega bita svojega operanda. Deluje s temeljnimi podatkovnimi tipi, zlasti integralnimi, kot so cela števila. Rezultat je dosežen z obračanjem vsakega posameznega bita v operandu, s pretvorbo 0 v 1 in 1 v 0.

Za ponazoritev njegove uporabe razmislite o naslednjem delčku kode:

#include
uporabo imenski prostor std ;

int glavni ( ) {
int originalValue = 5 ;

int rezultatBitwiseNot = ~izvirnaVrednost ;

cout << 'Izvirna vrednost: ' << originalValue << ', za Bitno NE: ' << rezultatBitwiseNot << konec ;

vrnitev 0 ;
}

V tem primeru deklariramo celoštevilsko spremenljivko »originalValue« z vrednostjo »5«. Nato za to spremenljivko uporabimo bitni operator NOT (~). Rezultat te spremenljivke je shranjen v »resultBitwiseNot«. Program nato natisne prvotno vrednost in rezultat po bitni operaciji NOT z uporabo stavka 'cout'.

Ko zaženemo ta program, bomo videli, da bitni operator NOT obrne vsak bit binarne predstavitve »originalValue«, kar povzroči novo vrednost.

Primer 5: Operatorji za naslov in posrednost

Operator naslova, označen s simbolom '&', služi namenu pridobivanja pomnilniške lokacije spremenljivke. Vrne kazalec na spremenljivko, ki omogoča posreden dostop do njene vrednosti. Operator posrednega ali dereferenciranja (*) pridobi vrednost, ki je shranjena na pomnilniški lokaciji, ki je podana s kazalcem. Zagotavlja način za posredno delo z dejanskimi podatki prek kazalca.

Razumejmo koncept s primerom:

#include
uporabo imenski prostor std ;

int glavni ( ) {
int vrednost = 99 ;

cout << 'Izvirna vrednost: ' << vrednost << konec ;

int * ptr = & vrednost ;
cout << 'Naslov pomnilnika: ' << ptr << konec ;

int retrievedValue = * ptr ;
cout << 'Pridobljena vrednost: ' << retrievedValue << konec ;

vrnitev 0 ;
}

Ta koda ponazarja uporabo operaterjev za naslov in posrednost. Najprej se celoštevilska spremenljivka z imenom »vrednost« inicializira z vrednostjo 99. Izvirna vrednost »vrednosti« se nato prikaže na konzoli. Nato je deklarirana spremenljivka kazalca 'ptr' in operator naslova (&) se uporabi za dodelitev pomnilniškega naslova 'vrednosti' 'ptr'. Program nato izda ta pomnilniški naslov in prikaže osnovno delovanje operaterja 'naslov'.

Po tem se deklarira nova celoštevilska spremenljivka, ki je »retrievedValue«, posredni operater (*) pa se uporabi za pridobitev vrednosti, ki je shranjena na pomnilniškem naslovu, na katerega kaže »ptr«. Pridobljena vrednost se nato izpiše na konzolo.

Zaključek

Ta članek je zagotovil celovito raziskavo unarnih operatorjev v C++. Začeli smo s kategorizacijo unarnih operatorjev v različne tipe, vključno z aritmetičnimi, logičnimi, bitnimi ter tistimi, ki so povezani z naslovom in posrednostjo. Za prikaz uporabne uporabe teh operaterjev so bile prikazane situacije iz resničnega sveta. Ti operaterji igrajo ključno vlogo pri programiranju C++, kar razvijalcem omogoča učinkovito delo s kazalci in upravljanje pomnilnika.