Compartilhar via


Pontos de seqüência do C++

Uma expressão pode modificar o valor de um objeto apenas uma vez entre consecutivas "pontos na seqüência".

Específicos do Microsoft

A definição de linguagem C++ não especificar pontos de seqüência no momento.Microsoft C++ usa os mesmos pontos de seqüência como ANSI C para qualquer expressão que envolvem operadores c e não envolvendo sobrecarga nos operadores.Quando operadores são sobrecarregados, a semântica é alterar de seqüenciamento de seqüenciamento de chamada de função de operador.Microsoft C++ usa os seguintes pontos de seqüência:

  • Deixado operando do operador lógico AND (& &).O operando esquerdo do operador lógico AND completamente é avaliado e todos os efeitos lado concluída antes de continuar.Não há nenhuma garantia de que o operando à direita do operador lógico AND será avaliado.

  • Operando esquerdo do operador lógico OR (|).O operando esquerdo do operador lógico OR é avaliado completamente e todos os efeitos lado concluída antes de continuar.Não há nenhuma garantia de que o operando à direita do operador lógico OR será avaliado.

  • Operando esquerdo do operador de vírgula.O operando esquerdo do operador vírgula completamente é avaliado e todos os efeitos lado concluída antes de continuar.Ambos os operandos do operador vírgula são sempre avaliados.

  • Operador de chamada de função.A expressão de chamada de função e todos os argumentos para uma função, incluindo argumentos padrão, são avaliados e todos os efeitos lado concluídas antes de entrada para a função.Não há uma ordem especificada de avaliação entre os argumentos ou a expressão de chamada de função.

  • O primeiro operando do operador condicional.O primeiro operando do operador condicional completamente é avaliado e todos os efeitos lado concluída antes de continuar.

  • O final de uma expressão de inicialização completo, como no final de uma inicialização em uma instrução de declaração.

  • A expressão em uma instrução de expressão.Instruções de expressão consistem em uma expressão opcional, seguida por um ponto e vírgula (;).A expressão é avaliada completamente seus efeitos colaterais.

  • A expressão de controle em uma seleção (se ou switch) instrução.A expressão é avaliada completamente e todos os efeitos de lado concluídos antes do código de acordo com a seleção é executado.

  • A expressão de um tempo de controlar ou siga a instrução.A expressão é avaliada completamente e lado todos os efeitos concluído antes de quaisquer declarações da próxima iteração do while ou loop são executados.

  • Cada uma das três expressões de uma instrução for.Cada expressão é avaliada completamente e todos os efeitos lado concluída antes de passar para a próxima expressão.

  • A expressão em uma instrução return.A expressão é avaliada completamente e todos os efeitos de lado concluídos antes do controle retorna à função de chamada.

Consulte também

Referência

Semântica de expressões