Sdílet prostřednictvím


Nejednoznačné výrazy

Některé výrazy jsou v jejich významu nejednoznačné.Tyto výrazy se nejčastěji vyskytují, je-li hodnota objektu změněna více než jednou ve stejném výrazu.Tyto výrazy se spoléhají na určité pořadí vyhodnocování tam, kde jazyk žádné nedefinuje.Příklad:

int i = 7;

func( i, ++i );

Jazyk C++ nezaručuje pořadí, ve kterém jsou vyhodnocovány argumenty pro volání funkce.Proto by v předcházejícím příkladu mohla func pro své parametry přijímat hodnoty 7 a 8 nebo 8 a 8, podle toho, zda jsou parametry vyhodnoceny zleva doprava nebo zprava doleva.

Viz také

Referenční dokumentace

Sémantika výrazů