Unárny operátor v C++

Unarny Operator V C



V C++ je unárny operátor operátor, ktorý pracuje iba s jedným operandom. Unárne operátory hrajú kľúčovú úlohu v C++ tým, že umožňujú manipuláciu s hodnotou spojenou s jednotnou premennou alebo výrazom. Tieto všestranné operátory možno použiť v rôznych kontextoch, ako je zvyšovanie alebo znižovanie premennej, zmena znamienka číselnej hodnoty alebo vykonávanie logickej negácie. Tento článok skúma unárne operátory v C++ tým, že pokrýva ich typy a aplikácie a poskytuje viacero príkladov pre lepšie pochopenie.

C++ podporuje niekoľko unárnych operátorov, z ktorých každý slúži jedinečnému účelu pri manipulácii s premennými. Začnime operátormi prírastku a znižovania, ktoré sa bežne používajú v slučkách a rôznych algoritmoch.

Príklad 1: Operátory zvýšenia (++) a zníženia (–).

Jednočlenné operátory inkrementácia (++) a dekrementácia (–) sú základnými nástrojmi v C++ na úpravu hodnoty premennej jej zvýšením alebo znížením o 1. Operátor prírastku (++) pripočítava 1 k hodnote premennej, zatiaľ čo operátor znižovania (–) odčíta 1. Tieto operátory možno použiť na premenné typu celé číslo, premenné s pohyblivou rádovou čiarkou a ukazovateľ, čo poskytuje flexibilitu pri ich používaní.







Pozrime sa na týchto operátorov na praktickom príklade:



#include
použitím menný priestor std ;

int Hlavná ( )
{

int počítadlo = 0 ;

// Operátor zvýšenia
cout << 'Pôvodná hodnota: ' << počítadlo << endl ;

počítadlo ++ ;
cout << 'Hodnota po zvýšení: ' << počítadlo << endl ;

// Operátor zníženia
počítadlo -- ;
cout << 'Hodnota po znížení: ' << počítadlo << endl ;

vrátiť 0 ;
}

Tento jednoduchý C++ program obsahuje potrebnú knižnicu vstupných/výstupných streamov s „#include “. V rámci funkcie „main()“ vytvoríme inštanciu celočíselnej premennej s názvom „counter“ a priradíme jej počiatočnú hodnotu 0. Pomocou príkazu „cout“ vytlačíme počiatočnú hodnotu „counter“ do konzoly a poskytneme základ pre našu demonštráciu. Vpred sa používa inkrementačný operátor (counter++) na zvýšenie hodnoty premennej „counter“ o 1.



Po tejto operácii sa aktualizovaná hodnota „counter“ zobrazí pomocou iného príkazu „cout“. Následne použijeme dekrementačný operátor (počítadlo—) na zníženie hodnoty „počítadla“ o 1. Výsledok sa následne zobrazí na konzole. Nakoniec program končí „návrat 0;“ vyhlásenie, ktoré naznačuje úspešné vykonanie.





Výstupný obrázok zobrazuje počiatočnú hodnotu, hodnotu po prírastku a zníženú hodnotu.



Príklad 2: Kladné (+) a záporné (-) operátory

Zatiaľ čo kladný unárny operátor sa používa zriedka, záporný operátor je základom pre zmenu znamienka premennej.

#include
Použitím menný priestor std ;

int Hlavná ( ) {
int pozitívna hodnota = 10 ;
int záporná hodnota = - pozitívna hodnota ;

cout << 'Pozitívna hodnota: ' << pozitívna hodnota << endl ;
cout << 'Záporná hodnota: ' << záporná hodnota << endl ;

vrátiť 0 ;
}

Pre tento vzorový kód inicializujeme dve celočíselné premenné, ktoré sú „positiveValue“ a „negativeValue“. „PozitívnaHodnota“ je priradená s hodnotou 10. Následne deklarujeme „negatívnuHodnotu“ a priradíme ju negáciou „pozitívnej hodnoty“ pomocou unárneho operátora mínus. Tento operátor efektívne mení znamienko pôvodnej hodnoty. Potom použijeme príkaz „cout“ na zobrazenie pozitívneho aj negatívneho výstupu na konzole. Nakoniec program vráti 0, čo znamená úspešné dokončenie hlavnej funkcie.

Po spustení tento program vypíše kladné a záporné hodnoty.

Príklad 3: Logický operátor NOT (!).

Jednočlenný operátor v C++, označený ako „!“ symbol, je známy ako logický operátor NOT. Je navrhnutý tak, aby prevrátil pravdivostnú hodnotu daného výrazu. Funguje na jednom operande, ktorý je typicky logickým výrazom alebo podmienkou. Logická operácia NOT prináša „pravdivý“ výsledok, keď je operand „nepravdivý“ a poskytuje „nepravdivý“ výsledok, keď je operand „pravdivý“.

Tu je jednoduchý príklad, ktorý demonštruje použitie logického operátora NOT:

#include
použitím menný priestor std ;

int Hlavná ( ) {
bool je pravda = pravda ;
bool isFalse = falošný ;

bool výsledokNie je pravda = ! je pravda ;
bool resultNotFalse = ! isFalse ;

cout << 'Pôvodná hodnota:' << je pravda << ', Po NIE: ' << výsledokNie je pravda << endl ;
cout << 'Pôvodná hodnota:' << isFalse << ', Po NIE: ' << resultNotFalse << endl ;

vrátiť 0 ;
}

V tomto príklade deklarujeme dve booleovské premenné, „isTrue“ a „isFalse“. Potom aplikujeme logický operátor NOT na každú premennú, pričom výsledky uložíme do „resultNotTrue“ a „resultNotFalse“. Program následne vypíše pôvodné hodnoty a výsledky logickej operácie NOT pre obe premenné.

Po spustení tohto programu si všimneme, že logický operátor NOT obracia pravdivostnú hodnotu „isTrue“ (pôvodne nastavenú na true), čím ju robí nepravdivou. Podobne invertuje pravdivostnú hodnotu „isFalse“ (pôvodne nepravda), čím dáva hodnotu true.

Výstup jasne ilustruje inverziu pravdivostných hodnôt, ktoré sú dosiahnuté logickým operátorom NOT.

Príklad 4: Bitový operátor NOT (~).

Bitový operátor NOT (~) v C++ je unárny operátor, ktorý vykonáva bitovú negáciu každého bitu svojho operandu. Funguje so základnými typmi údajov, konkrétne s integrálnymi, ako sú celé čísla. Výsledok sa dosiahne invertovaním každého jednotlivého bitu v operande, prevodom 0 s na 1 s a 1 s na 0 s.

Na ilustráciu jeho použitia zvážte nasledujúci útržok kódu:

#include
použitím menný priestor std ;

int Hlavná ( ) {
int pôvodná hodnota = 5 ;

int resultBitwiseNot = ~pôvodná hodnota ;

cout << 'Pôvodná hodnota:' << pôvodná hodnota << ', Po Bitwise NOT: ' << resultBitwiseNot << endl ;

vrátiť 0 ;
}

V tomto príklade deklarujeme celočíselnú premennú „originalValue“ s hodnotou „5“. Ďalej v tejto premennej použijeme bitový operátor NOT (~). Výsledok tejto premennej je uložený v „resultBitwiseNot“. Program potom vytlačí pôvodnú hodnotu a výsledok po bitovej operácii NOT pomocou príkazu „cout“.

Keď spustíme tento program, uvidíme, že bitový operátor NOT invertuje každý bit binárnej reprezentácie „originalValue“, výsledkom čoho je nová hodnota.

Príklad 5: Adresové a nepriame operátory

Adresa operátora, označená symbolom „&“, slúži na získanie miesta v pamäti premennej. Vracia ukazovateľ na premennú, ktorý umožňuje nepriamy prístup k jej hodnote. Operátor nepriameho alebo dereferencovania (*) získa hodnotu, ktorá je uložená na pamäťovom mieste určenom ukazovateľom. Poskytuje spôsob, ako nepriamo pracovať so skutočnými údajmi prostredníctvom ukazovateľa.

Poďme pochopiť koncept na príklade:

#include
použitím menný priestor std ;

int Hlavná ( ) {
int hodnotu = 99 ;

cout << 'Pôvodná hodnota:' << hodnotu << endl ;

int * ptr = & hodnotu ;
cout << 'Adresa pamäte: ' << ptr << endl ;

int retrievedValue = * ptr ;
cout << 'Načítaná hodnota: ' << retrievedValue << endl ;

vrátiť 0 ;
}

Tento kód ilustruje použitie operátorov adresy a smerovania. Najprv sa inicializuje celočíselná premenná s názvom „value“ s hodnotou 99. Pôvodná hodnota „value“ sa potom odošle do konzoly. Následne je deklarovaná ukazovateľová premenná „ptr“ a adresa operátora (&) sa použije na priradenie adresy pamäte „hodnoty“ k „ptr“. Program potom vypíše túto pamäťovú adresu a ukáže základnú operáciu operátora „adresy“.

Potom je deklarovaná nová celočíselná premenná, ktorá je „retrievedValue“ a operátor nepriameho smeru (*) sa použije na získanie hodnoty, ktorá je uložená na adrese pamäte označenej „ptr“. Získaná hodnota sa potom odošle do konzoly.

Záver

Tento článok poskytuje komplexný prieskum unárnych operátorov v C++. Začali sme kategorizáciou unárnych operátorov do rôznych typov vrátane aritmetických, logických, bitových a operátorov súvisiacich s adresou a nepriamou orientáciou. Príklady situácií z reálneho sveta demonštrovali užitočnú aplikáciu týchto operátorov. Títo operátori hrajú kľúčovú úlohu v programovaní v C++, čo umožňuje vývojárom efektívne pracovať s ukazovateľmi a spravovať pamäť.