Sdílet prostřednictvím


Body sekvence jazyka C++

Výraz může změnit hodnotu objektu mezi po sobě jdoucími „body sekvence“ pouze jednou.

Specifické pro produkty společnosti Microsoft

Definice jazyka C++ aktuálně nespecifikuje body sekvence.Jazyk C++ společnosti Microsoft používá stejné body sekvence jako standard ANSI C pro všechny výrazy zahrnující operátory jazyka C a nevyžaduje přetížené operátory.Pokud jsou operátory přetíženy, sémantika se změní ze sekvence operátorů na sekvenci volání funkce.Jazyk C++ společnosti Microsoft používá následující body sekvence:

  • Levý operand logického operátoru AND (&&).Levý operand logického operátoru AND je kompletně vyhodnocen a všechny vedlejší účinky jsou před pokračováním dokončeny.Není zaručeno, že bude pravý operand logického operátoru AND vyhodnocen.

  • Levý operand logického operátoru OR (||).Levý operand logického operátoru OR je kompletně vyhodnocen a všechny vedlejší účinky jsou před pokračováním dokončeny.Není zaručeno, že bude pravý operand logického operátoru OR vyhodnocen.

  • Levý operand operátoru čárky.Levý operand logického operátoru čárky je kompletně vyhodnocen a všechny vedlejší účinky jsou před pokračováním dokončeny.Oba operandy operátor čárky jsou vždy vyhodnoceny.

  • Operátor volání funkce.Výraz volání funkce a všechny argumenty funkce, včetně výchozích argumentů, jsou vyhodnoceny a všechny vedlejší účinky dokončeny před vstupem do této funkce.Neexistuje žádné zadané pořadí vyhodnocování mezi argumenty nebo výrazem volání funkce.

  • První operand podmíněného operátoru.První operand podmíněného operátoru je kompletně vyhodnocen a všechny vedlejší účinky jsou před pokračováním dokončeny.

  • Konec úplného výrazu inicializace, jako je konec inicializace v příkazu deklarace.

  • Výraz v příkazu výrazu.Příkazy výrazů se skládají z volitelného výrazu následovaného středníkem (;).Tento výraz je zcela vyhodnocen pro jeho vedlejší účinky.

  • Řídící výraz v příkazu výběru (if nebo switch).Výraz je vyhodnocen úplně a všechny vedlejší účinky jsou dokončeny před provedením kódu závislého na výběru.

  • Řídící výraz příkazu while nebo do.Výraz je zcela vyhodnocen a všechny vedlejší účinky jsou dokončeny před vykonáním jakýchkoli příkazů v další iteraci smyčky while nebo do.

  • Všechny tři výrazy příkazu for.Každý výraz je úplně vyhodnocen a všechny vedlejší účinky dokončeny před přesunem k dalšímu výrazu.

  • Výraz v příkazu return.Výraz je vyhodnocován úplně a všechny vedlejší účinky jsou dokončeny před návratem řízení do funkce volání.

Viz také

Referenční dokumentace

Sémantika výrazů