Operátor (programování)Operátor je v programovacích jazycích symbol používaný ve výrazech, který předepisuje provedení nějaké (nejčastěji matematické nebo logické) operace s hodnotami (operandy) zapsanými ve svém okolí. Výsledkem použití operátoru je podobně jako u funkce hodnota; způsob použití operátorů se však zpravidla od funkcí liší syntakticky i sémanticky. K nejrozšířenějším operátorům dostupným ve většině programovacích jazyků patří binární operátory Jména operátorůOperátory často tvoří zvláštní lexikální kategorii a zapisují se jedním nealfanumerickým znakem, případně řetězcem nealfanumerických znaků. V některých jazycích se mohou operátory zapisovat jako identifikátory nebo se může jednat o klíčová slova. SyntaxeOperátory se syntakticky obvykle výrazně odlišují od funkcí. Zatímco u funkcí zpravidla existuje jediný pevně stanovený způsob zápisu volání funkce (nejčastěji jméno funkce následované závorkami, které obsahují seznam parametrů vzájemně oddělených čárkami), operátory mohou používat odlišné způsoby zápisu. Operátor mívá obvykle stanovenou
SémantikaSémantiku operátorů obvykle definuje norma jazyka. V některých jazycích je možné rozšiřovat operátory na nové typy, definovat vlastní operátory, případně chování operátorů předefinovávat. Sémantika operátoru může záviset na typech použitých operandů. Druhy operátorůAritmetické operaceVětšina programovacích jazyků používá binární operátory Relační operaceJako relační jsou zpravidla označovány operátory, které vracejí logickou (pravdivostní) hodnotu. Typicky mezi ně patří operátory pro test na rovnost a nerovnost zapisované Některé jazyky mají pro porovnání dvou hodnot operátory Logické operaceVětšina jazyků má operátory pro logické operace: unární Při vyhodnocování binárních logických operátorů pro konjunkci a disjunkci je důležité, zda provádějí zkrácené (jazyk C) nebo úplné (standardní Pascal) vyhodnocení. Při zkráceném vyhodnocování se přeskakuje vyhodnocování podvýrazů, které nemohou ovlivnit logickou hodnotu celého výrazu; přeskakuje se vyhodnocování druhého operandu v konjunkci, pokud první operand je nepravdivý (výsledek konjunkce bude nepravdivý bez ohledu na hodnotu druhého operandu); podobně se přeskakuje vyhodnocování druhého operandu v disjunkci, pokud první operand je pravdivý (výsledek disjunkce bude pravdivý bez ohledu na hodnotu druhého operandu). Protože se často jedná o konstrukce, ve kterých by vyhodnocování druhého operandu skončilo chybou, jeví se zkrácené vyhodnocování jako užitečnější. Příklad: Konstrukce while (ptr <> nil) and (ptr^.next <> nil) do ptr:=ptr^.next;
ve standardním Pascalu skončí chybou, pokud ukazatel ptr má na začátku hodnotu nil. Obdobnou konstrukci lze v jazyce C napsat takto: while (ptr != NULL && ptr->next != NULL) ptr = ptr->next;
a lze ji použít pro posunutí ukazatele na předposlední prvek spojového seznamu. Podmíněný výraz Podrobnější informace naleznete v článku Ternární operátor (programování).
Podmíněný výraz je konstrukce, která obsahuje logickou podmínku a další dva výrazy; podle logické hodnoty podmínky se použije buď jeden nebo druhý z výrazů. V některých jazycích se podmíněný výraz zapisuje podobně jako podmíněný příkaz, tj. pomocí klíčových slov Operátor přiřazení Podrobnější informace naleznete v článku přiřazení.
Část jazyků považuje přiřazení za operátor, takže lze přiřazení použít v dalším výrazu. V jiných jazycích (Pascal) se přiřazení vyskytuje pouze v příkazu přiřazení, takže přiřazení může být v příkazu nejvýše jedno, a symbol přiřazení lze považovat za oddělovač. Vlastnosti operátorů v programovacích jazycíchNásledující tabulka shrnuje vlastnosti operátorů v několika programovacích jazycích:
OdkazyReferenceV tomto článku byl použit překlad textu z článku Operator (computer programming) na anglické Wikipedii.
Související článkyExterní odkazy
|