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.