Operátory podrobněji
C++ 11

image_printTisk

V předchozích článcích jsme se seznámili již s několika typy základních operátorů v C++. Tato kapitola slouží k představení zbytku operátorů, které se v jazyce C++ vyskytují.

Prozatím byly probrány tyto typy operátorů:

Bitové operátory

Jazyk C++ poskytuje několik operátorů, pomocí kterých lze provádět bitové operace, jak uvádí následující tabulka:

Syntaxe operátoruVýznam operátoru
operátor &Binární bitový operátor AND
operátor |Binární bitový operátor OR
operátor ^Binární bitový operátor XOR
operátor ~Unární operátor bitového komplementu

Popis významu jednotlivých bitových operací je nad rámec těchto stránek a bližší seznámení lze najít na Wikipedii.

Operátory bitového posuvu

Syntaxe operátoruVýznam operátoru
operátor >>Bitový posun doprava
operátor <<Bitový posun doleva

Za poznámku stojí, že pokud je příslušný datový typ bezznaménkový, tedy unsigned, provádí operátor >> logický posuv, pokud je datový typ signed, probíhá posuv aritmetický. Rozdíl mezi aritmetickým a logickým posuvem lze nalézt na výše zmíněném odkazu o bitových operacích.

Přiřazovací operátory

Následující tabulka uvádí zkrácené výrazy přiřazovacích operátorů. Například a += b je jakýmsi “syntaktickým cukrem” nebo “zkratkou” pro zápis a = a + b.

Syntaxe operátoruVýznam operátoru
a += ba = a + b
a -= ba = a - b
a *= ba = a * b
a /= ba = a / b
a %= ba = a % b
a &= ba = a & b
a |= ba = a | b
a ^= ba = a ^ b
a >>= ba = a >> b
a <<= ba = a << b

Operátor podmínky

Na závěr zmíníme poslední z operátorů, a to ternární podmínkový operátor ? : . Jeho zápis vypadá následovně:

A = podmínka ? B : C

Zápis v podstatě říká, že pokud je podmínka vyhodnocena na logickou hodnotu true, do proměnné A se přiřadí hodnota výrazu B, jinak hodnota výrazu C. Blíže to může být jasné na následujícím příkladu:

Chyba při načítání zdrojového kódu.
image_printTisk
Operátory podrobněji
C++ 11
Ohodnoťte tento článek

Související články

  • Číselné datové typy podrobněji V této úvodní kapitole základů C++ jsme se zmínili pouze o dvou číselných datových typech, a to int a double. Spektrum číselných datových typů, a to jak pro celá čísla, tak i pro […]
  • Generování náhodných čísel http://en.cppreference.com/w/cpp/numeric/random  
  • Matematické funkce hlavičky: cmath cstdlib cinttypes   abs, labs, llabs div, ldiv, lldiv abs, imaxabs div, imaxdiv abs, fabs fmod remainder remquo fmax, fmin […]
  • Datová struktura “stack” Datová struktura zásobník funguje na principu zvaném LIFO (Last In First Out). To znamená, že položka, která do něj byla vložena poslední,  je jako první vyjmuta. V podstatě můžeme říci, […]
  • Paměťový buffer – třída “stringstream” V této kapitole uzavřeme téma kolem vstupu a výstupu. Zatím jsme si ukázali, jak je možné provádět vstup a výstup na textovou konzoli a do souboru. Tato kapitola popisuje poslední datový […]
  • Lambda funkce Tento článek popisuje nový syntaktický zápis funkcí a různých operací. Tento zápis se nazývá lambda funkce nebo lambda výrazy a je primárně určen pro předávání operací jako argument do […]